Instalacija komponente HTML5 Gateway Docker¶
Uvoz slike Docker¶
Prije nego što možete stvoriti spremnik HTML5 Gateway Docker, morate uvesti sliku Docker. Da biste to učinili, pokrenite ljusku u kojoj su vam dostupne naredbe Docker, kao i datoteka cleanroom-html5-4.6.1-33-v2.tgz. U ljusci pokrenite sljedeću naredbu i prilagodite put do datoteke TGZ ako se ona ne nalazi u trenutačnom direktoriju:
1 | |
Zatim sljedećom naredbom provjerite je li uvoz uspio:
1 | |
Očekivani izlaz je sljedeći. Ako nije takav, uvoz nije uspio:
1 2 3 4 5 6 | |
Potpuni izlaz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | |
Konfiguracija spremnika¶
Varijable okruženja¶
Varijable za implementaciju putem pairinga¶
| Naziv | Obavezno | Zadana vrijednost | Komentar |
|---|---|---|---|
ENV_MEDIATION |
DA | Koristi se za povezivanje putem pairinga. Navodi DNS naziv ili IP adresu za povezivanje s web-sučeljem platforme CyberElements Bastion. |
|
ENV_TOKEN |
DA | Koristi se za povezivanje putem pairinga. Navodi token pairinga koji se koristi za povezivanje s uslugom Mediation Controller. |
|
ENV_NO_CHECK_CERT |
NE | false |
Koristi se za povezivanje putem pairinga. Određuje treba li onemogućiti provjeru web-certifikata usluge Mediation Controller; korisno uz CyberElements Bastion pri pristupu putem IP adrese ili kada web-certifikat nije certifikat koji prepoznaju zadana javna certifikacijska tijela. Prihvaćene vrijednosti: true ili false. |
Varijable za ručnu implementaciju¶
| Naziv | Obavezno | Zadana vrijednost | Komentar |
|---|---|---|---|
ENV_GW_CERT_NAME |
DA | Koristi se za povezivanje s ručnom konfiguracijom. Naziv datoteke certifikata za povezivanje s komponentom SSL Router. |
|
ENV_GW_CERT_PASSWORD |
DA | Koristi se za povezivanje s ručnom konfiguracijom. Lozinka datoteke certifikata za povezivanje s komponentom SSL Router. |
|
ENV_SSL_ROUTER_IP |
DA | Koristi se za povezivanje s ručnom konfiguracijom. IP adresa ili DNS naziv komponente SSL Router s kojom će se povezati komponenta HTML5 Gateway. |
|
ENV_SSL_ROUTER_PORT |
NE | 443 |
Koristi se za povezivanje s ručnom konfiguracijom. Priključak komponente SSL Router s kojom će se povezati komponenta HTML5 Gateway. |
Razne varijable¶
| Naziv | Obavezno | Zadana vrijednost | Komentar |
|---|---|---|---|
ENV_DISABLE_RSYSLOG |
NE | false |
Deaktivacija usluge rsyslog.Prihvaćene vrijednosti: true ili false. |
Volumeni¶
| Volumen | Komentar |
|---|---|
/etc/ipdiva/ |
Volumen za konfiguraciju komponente HTML5 Gateway. Preporučujemo da ga montirate na imenovani volumen ili u datotečni sustav računala hosta. |
/opt/certificates/ |
Volumen koji sadrži certifikat ili certifikate komponente HTML5 Gateway pri konfiguraciji bez pairinga. |
/var/log/ |
Volumen koji sadrži zapisnike komponente HTML5 Gateway. |
Priključci¶
| Priključak | Komentar |
|---|---|
8080 |
Priključak za osluškivanje usluge HTML5. |
Implementacija komponente HTML5 Gateway Docker¶
Implementacija s pairingom¶
Preduvjeti
Prije implementacije komponente HTML5 Gateway Docker morate dobiti token pairinga.
Implementacija opisana u nastavku koristit će sve dostupne volumene (osim volumena /opt/certificates/, koji u ovom kontekstu nije koristan) i izložiti sve priključke.
Volumeni će se montirati u datotečni sustav računala hosta na lokaciji HTML5_GATEWAY_REP. Unutar te lokacije nalaze se sljedeći poddirektoriji:
- config
- log
Varijable za sljedeće naredbe možete prilagoditi:
| Prilagođena vrijednost | Varijabla | Komentar |
|---|---|---|
DOCKER_NAME |
Naziv spremnika Docker. | |
HTML5_GATEWAY_REP |
Lokacija u datotečnom sustavu na kojoj će se montirati volumeni. | |
ENV_MEDIATION_VALUE |
Vrijednost varijable okruženja ENV_MEDIATION. |
|
ENV_TOKEN_VALUE |
Vrijednost varijable okruženja ENV_TOKEN. |
|
ENV_NO_CHECK_CERT_VALUE |
Vrijednost varijable okruženja ENV_NO_CHECK_CERT. |
Izradite stablo direktorija potrebno za montiranje volumena na datotečni sustav:
1 2 | |
1 | |
Na kraju pokrenite novi spremnik:
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 | |
Zapisnike spremnika možete prikazati sljedećom naredbom:
1 | |
Ručna implementacija¶
Preduvjeti
Prije implementacije komponente HTML5 Gateway Docker morate imati certifikat potreban za komponentu HTML5 Gateway.
Lozinke vidljive naredbom docker inspect
Varijable okruženja spremnika, uključujući lozinke certifikata, ostaju čitljive svakome kome je dopušteno pokretati docker inspect na Docker poslužitelju. Stoga je bolje odabrati implementaciju s pairingom, koja ne koristi lozinku certifikata.
Implementacija opisana u nastavku koristit će sve dostupne volumene i izložiti sve priključke.
Volumeni će se montirati u datotečni sustav računala hosta na lokaciji MANUAL_REP. Na toj se lokaciji nalaze sljedeće podmape:
- config
- log
- certificates
Varijable za sljedeće naredbe možete prilagoditi:
| Prilagođena vrijednost | Varijabla | Komentar |
|---|---|---|
MANUAL_NAME |
Naziv Docker spremnika. | |
MANUAL_REP |
Lokacija u datotečnom sustavu na koju se montiraju volumeni. | |
ENV_GW_CERT_NAME_VALUE |
Vrijednost varijable okruženja ENV_GW_CERT_NAME. |
|
ENV_SSL_ROUTER_IP_VALUE |
Vrijednost varijable okruženja ENV_SSL_ROUTER_IP. |
|
ENV_SSL_ROUTER_PORT_VALUE |
Vrijednost varijable okruženja ENV_SSL_ROUTER_PORT. |
Izradite stablo direktorija potrebno za montiranje volumena na datotečni sustav:
1 2 3 | |
1 | |
Zatim certifikate za komponentu HTML5 Gateway i uslugu snimanja stavite u MANUAL_REP/certificates.
Kako lozinke certifikata ne bi ostale u povijesti ljuske, unesite ih u varijable okruženja trenutačne sesije (unos se ne prikazuje):
1 2 | |
1 | |
Na kraju pokrenite novi spremnik:
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 | |
Nakon pokretanja spremnika uklonite te varijable iz sesije:
1 | |
1 | |
Zapisnike spremnika možete prikazati sljedećom naredbom:
1 | |
Konfiguracija usluge Mediation Controller¶
Da bi nova komponenta HTML5 Gateway Docker bila funkcionalna, još je potrebno konfigurirati poslužitelj Mediation Controller putem pristupa SSH ili konzoli uz dozvole root.
Ta je posljednja postavka potrebna kako bi usluga Mediation Controller mogla komunicirati s uslugom HTML5.
No ta konfiguracija ovisi o lokaciji komponente HTML5 Gateway Docker:
Opći dijagram izgleda ovako:
flowchart LR
subgraph DMZ
direction TB
HTML5(HTML5 Gateway Docker)
MED(Mediation Controller)
end
subgraph LAN
GW(Edge Gateway)
end
MED -.-> |Veza s uslugom HTML5 ; TCP 8080| HTML5
HTML5 --> |TLS Tunnel| MED
MED ~~~ GW
GW --> |TLS Tunnel| MED
GW ~~~ MED
linkStyle 0 stroke:#d22,color;
U tom kontekstu bit će potrebno dodati informacije navedene u nastavku u datoteku /etc/ipdiva/httpd/commonParameters.extra.conf ili je stvoriti.
Postavke je moguće prilagoditi:
| Prilagođena vrijednost | Varijabla | Komentar |
|---|---|---|
HTML5_URL_DMZ |
URL konfiguriran prilikom deklariranja komponente HTML5 Gateway u administratorskoj konzoli. | |
HTML5_IP_DMZ |
DNS naziv ili IP adresa poslužitelja Docker na kojem je aktivna komponenta HTML5 Gateway Docker. | |
HTML5_PORT_DMZ |
Priključak koji poslužitelj Docker objavljuje za komponentu HTML5 Gateway Docker. |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Opći dijagram izgleda ovako:
flowchart LR
subgraph DMZ
direction TB
MED(Mediation Controller)
end
subgraph LAN
HTML5(HTML5 Gateway Docker)
GW(Edge Gateway)
end
MED -.- | Veza s uslugom HTML5 ; kroz tunel TLS| GW -.-> |Veza s uslugom HTML5 ; TCP 8080| HTML5
HTML5 --> |TLS Tunnel| MED
GW --> |TLS Tunnel| MED
linkStyle 0,1 stroke:#d22,color;
U tom kontekstu bit će potrebno dodati informacije navedene u nastavku u datoteku /etc/ipdiva/httpd/commonParameters.extra.conf ili je stvoriti.
Postavke je moguće prilagoditi:
| Prilagođena vrijednost | Varijabla | Komentar |
|---|---|---|
HTML5_URL_LAN |
URL konfiguriran prilikom deklariranja komponente HTML5 Gateway u administratorskoj konzoli. | |
GW_NAME_LAN |
Naziv komponente Edge Gateway koja se koristi za povezivanje s uslugom HTML5. Znak okomite crte na kraju retka mora se zadržati. | |
ORGANIZATION_NAME_LAN |
Naziv organizacije s kojom se povezuje komponenta Edge Gateway. | |
HTML5_IP_LAN |
DNS naziv ili IP adresa poslužitelja Docker na kojem je aktivna komponenta HTML5 Gateway Docker. | |
HTML5_PORT_LAN |
Priključak koji poslužitelj Docker objavljuje za komponentu HTML5 Gateway Docker. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Savjet
Ova se konfiguracija može upotrijebiti i u sljedećoj situaciji, u kojoj se komponente Edge Gateway Docker i HTML5 Gateway Docker izvode u istoj mreži Docker:
flowchart LR
subgraph DMZ
direction TB
MED(Mediation Controller)
end
subgraph LAN
subgraph docker[Docker Server]
HTML5([HTML5 Gateway Docker])
GW([Edge Gateway])
end
end
MED -.- | Veza s uslugom HTML5 ; kroz tunel TLS| GW -.-> |Veza s uslugom HTML5 ; TCP 8080 kroz mrežu Docker| HTML5
HTML5 --> |TLS Tunnel| MED
GW --> |TLS Tunnel| MED
linkStyle 0,1 stroke:#d22,color;
Primjer
U ovom ćemo primjeru implementirati komponente Edge Gateway i HTML5 Gateway na istom poslužitelju Docker.
Infrastruktura upotrijebljena za primjer je sljedeća:
- Poslužitelj Mediation Controller
- Web IP adresa:
10.0.10.10 - Naziv organizacije:
my-organization-name - Token za Edge Gateway:
YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH - Token za HTML5 Gateway:
ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF - URL za pristup usluzi HTML5:
HTML5_DOCKER
- Web IP adresa:
- Poslužitelj Docker
- Naziv mreže Docker:
cyberelements-cleanroom-network - Edge Gateway
- Naziv:
my-edge-gateway-docker - Korijenska lokacija u datotečnom sustavu:
/opt/my-edge-gateway-docker
- Naziv:
- HTML5 Gateway
- Naziv:
my-html5-gateway-docker - Korijenska lokacija u datotečnom sustavu:
/opt/my-html5-gateway-docker
- Naziv:
- Naziv mreže Docker:
Najprije na poslužitelju Docker morate stvoriti strukturu direktorija za montiranje volumena Docker:
1 2 3 4 5 6 | |
Zatim stvorite mrežu Docker vrste bridge kako bi dva spremnika mogla međusobno komunicirati:
1 | |
Zatim pokrenite spremnik Edge Gateway. Imajte na umu da se u primjeru veza uspostavlja putem pairinga, uz pristup usluzi Mediation Controller putem njezine IP adrese i bez dodane provjere certifikata. Osim toga, dodan je parametar --network kojim se navodi upotreba prethodno stvorene mreže Docker:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Zatim pokrenite spremnik HTML5 Gateway. Imajte na umu da se u primjeru veza uspostavlja putem pairinga, uz pristup usluzi Mediation Controller putem njezine IP adrese i bez dodane provjere certifikata. Osim toga, dodan je parametar --network kojim se navodi upotreba prethodno stvorene mreže Docker, a budući da će pristup usluzi HTML5 ići kroz mrežu Docker, objavljivanje priključka 8080 nije potrebno:
1 2 3 4 5 6 7 8 | |
Na kraju je potrebno konfigurirati datoteku /etc/ipdiva/httpd/commonParameters.extra.conf na poslužitelju ili poslužiteljima Mediation Controller. Treba dodati sljedeći odjeljak:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Prije primjene novih postavki morate provjeriti da nova konfiguracija ne uzrokuje blokirajuće pogreške za web-poslužitelj Apache2.
Da biste to učinili, pokrenite sljedeću naredbu:
1 | |
Ako je povratna vrijednost Syntax OK, promjene se mogu primijeniti naredbom u nastavku. U suprotnom provjerite konfiguraciju datoteke /etc/ipdiva/httpd/commonParameters.extra.conf.
1 | |