Instalace komponenty HTML5 Gateway Docker¶
Import obrazu Docker¶
Než budete moci vytvořit kontejner HTML5 Gateway Docker, musíte importovat obraz Docker. Za tímto účelem spusťte shell, ve kterém máte k dispozici příkazy Docker i soubor cleanroom-html5-4.6.1-33-v2.tgz. V shellu spusťte následující příkaz a upravte cestu k souboru TGZ, pokud se nenachází v aktuálním adresáři:
1 | |
Poté následujícím příkazem ověřte, že import proběhl úspěšně:
1 | |
Očekávaný výstup je následující. Pokud tomu tak není, import selhal:
1 2 3 4 5 6 | |
Úplný výstup
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 | |
Konfigurace kontejneru¶
Proměnné prostředí¶
Proměnné pro nasazení pomocí pairingu¶
| Název | Povinná | Výchozí hodnota | Komentář |
|---|---|---|---|
ENV_MEDIATION |
ANO | Používá se pro připojení pomocí pairingu. Určuje název DNS nebo IP adresu pro připojení k webovému rozhraní platformy CyberElements Bastion. |
|
ENV_TOKEN |
ANO | Používá se pro připojení pomocí pairingu. Určuje token pro pairing, který se má použít pro připojení ke službě Mediation Controller. |
|
ENV_NO_CHECK_CERT |
NE | false |
Používá se pro připojení pomocí pairingu. Určuje, zda se má zakázat kontrola webového certifikátu služby Mediation Controller; užitečné u CyberElements Bastion při přístupu přes IP adresu nebo v případě, že webový certifikát není certifikát uznávaný výchozími veřejnými certifikačními autoritami. Přijímané hodnoty: true nebo false. |
Proměnné pro ruční nasazení¶
| Název | Povinná | Výchozí hodnota | Komentář |
|---|---|---|---|
ENV_GW_CERT_NAME |
ANO | Používá se pro připojení s ruční konfigurací. Název souboru certifikátu pro připojení ke komponentě SSL Router. |
|
ENV_GW_CERT_PASSWORD |
ANO | Používá se pro připojení s ruční konfigurací. Heslo souboru certifikátu pro připojení ke komponentě SSL Router. |
|
ENV_SSL_ROUTER_IP |
ANO | Používá se pro připojení s ruční konfigurací. IP adresa nebo název DNS komponenty SSL Router, ke které se komponenta HTML5 Gateway připojí. |
|
ENV_SSL_ROUTER_PORT |
NE | 443 |
Používá se pro připojení s ruční konfigurací. Port komponenty SSL Router, ke které se komponenta HTML5 Gateway připojí. |
Různé proměnné¶
| Název | Povinná | Výchozí hodnota | Komentář |
|---|---|---|---|
ENV_DISABLE_RSYSLOG |
NE | false |
Deaktivace služby rsyslog.Přijímané hodnoty: true nebo false. |
Svazky¶
| Svazek | Komentář |
|---|---|
/etc/ipdiva/ |
Konfigurační svazek komponenty HTML5 Gateway. Doporučujeme jej připojit k pojmenovanému svazku nebo do systému souborů hostitelského počítače. |
/opt/certificates/ |
Svazek obsahující certifikát nebo certifikáty komponenty HTML5 Gateway při konfiguraci bez pairingu. |
/var/log/ |
Svazek obsahující logy komponenty HTML5 Gateway. |
Porty¶
| Port | Komentář |
|---|---|
8080 |
Naslouchající port služby HTML5. |
Nasazení komponenty HTML5 Gateway Docker¶
Nasazení pomocí pairingu¶
Předpoklady
Před nasazením komponenty HTML5 Gateway Docker musíte získat token pro pairing.
Níže popsané nasazení použije všechny dostupné svazky (kromě /opt/certificates/, který v tomto kontextu není užitečný) a zpřístupní všechny porty.
Svazky budou připojeny do systému souborů hostitelského počítače v umístění HTML5_GATEWAY_REP. V tomto umístění se nacházejí následující podadresáře:
- config
- log
Proměnné pro následující příkazy si můžete přizpůsobit:
| Vlastní hodnota | Proměnná | Komentář |
|---|---|---|
DOCKER_NAME |
Název kontejneru Docker. | |
HTML5_GATEWAY_REP |
Umístění v systému souborů, kam se mají připojit svazky. | |
ENV_MEDIATION_VALUE |
Hodnota proměnné prostředí ENV_MEDIATION. |
|
ENV_TOKEN_VALUE |
Hodnota proměnné prostředí ENV_TOKEN. |
|
ENV_NO_CHECK_CERT_VALUE |
Hodnota proměnné prostředí ENV_NO_CHECK_CERT. |
Vytvořte strom adresářů potřebný pro připojení svazků do systému souborů:
1 2 | |
1 | |
A nakonec spusťte nový kontejner:
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 | |
Logy kontejneru lze zobrazit pomocí následujícího příkazu:
1 | |
Ruční nasazení¶
Předpoklady
Před nasazením komponenty HTML5 Gateway Docker musíte mít certifikát vyžadovaný komponentou HTML5 Gateway.
Hesla viditelná pomocí docker inspect
Proměnné prostředí kontejneru, včetně hesel certifikátů, zůstávají čitelné pro každého, kdo smí na serveru Docker spustit docker inspect. Proto je vhodnější nasazení s pairingem, které nepoužívá žádné heslo certifikátu.
Níže popsané nasazení použije všechny dostupné svazky a zpřístupní všechny porty.
Svazky budou připojeny do systému souborů hostitelského počítače v umístění MANUAL_REP. V tomto umístění se nacházejí následující podadresáře:
- config
- log
- certificates
Proměnné pro následující příkazy si můžete přizpůsobit:
| Vlastní hodnota | Proměnná | Komentář |
|---|---|---|
MANUAL_NAME |
Název kontejneru Docker. | |
MANUAL_REP |
Umístění v systému souborů, kam se připojí svazky. | |
ENV_GW_CERT_NAME_VALUE |
Hodnota proměnné prostředí ENV_GW_CERT_NAME. |
|
ENV_SSL_ROUTER_IP_VALUE |
Hodnota proměnné prostředí ENV_SSL_ROUTER_IP. |
|
ENV_SSL_ROUTER_PORT_VALUE |
Hodnota proměnné prostředí ENV_SSL_ROUTER_PORT. |
Vytvořte strom adresářů potřebný pro připojení svazků do systému souborů:
1 2 3 | |
1 | |
Poté umístěte certifikáty komponenty HTML5 Gateway a služby nahrávání do MANUAL_REP/certificates.
Aby hesla certifikátů nezůstala uložena v historii příkazů shellu, zadejte je do proměnných prostředí aktuální relace (zadávaný text se nezobrazuje):
1 2 | |
1 | |
Nakonec spusťte nový kontejner:
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 | |
Po spuštění kontejneru odeberte tyto proměnné z relace:
1 | |
1 | |
Logy kontejneru lze zobrazit pomocí následujícího příkazu:
1 | |
Konfigurace služby Mediation Controller¶
Aby byla nová komponenta HTML5 Gateway Docker funkční, je ještě nutné nakonfigurovat server Mediation Controller prostřednictvím přístupu SSH nebo přístupu ke konzole s oprávněními root.
Toto poslední nastavení je nutné k tomu, aby služba Mediation Controller mohla komunikovat se službou HTML5.
Tato konfigurace se však liší v závislosti na umístění komponenty HTML5 Gateway Docker:
Celkové schéma je následující:
flowchart LR
subgraph DMZ
direction TB
HTML5(HTML5 Gateway Docker)
MED(Mediation Controller)
end
subgraph LAN
GW(Edge Gateway)
end
MED -.-> |Připojení ke službě HTML5 ; TCP 8080| HTML5
HTML5 --> |TLS Tunnel| MED
MED ~~~ GW
GW --> |TLS Tunnel| MED
GW ~~~ MED
linkStyle 0 stroke:#d22,color;
V tomto kontextu bude nutné přidat níže uvedené informace do souboru /etc/ipdiva/httpd/commonParameters.extra.conf nebo tento soubor vytvořit.
Nastavení lze přizpůsobit:
| Vlastní hodnota | Proměnná | Komentář |
|---|---|---|
HTML5_URL_DMZ |
URL nakonfigurovaná při deklarování komponenty HTML5 Gateway v konzole pro správu. | |
HTML5_IP_DMZ |
Název DNS nebo IP adresa serveru Docker, na kterém je aktivní komponenta HTML5 Gateway Docker. | |
HTML5_PORT_DMZ |
Port publikovaný serverem Docker pro komponentu HTML5 Gateway Docker. |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Celkové schéma je následující:
flowchart LR
subgraph DMZ
direction TB
MED(Mediation Controller)
end
subgraph LAN
HTML5(HTML5 Gateway Docker)
GW(Edge Gateway)
end
MED -.- | Připojení ke službě HTML5 ; přes tunel TLS| GW -.-> |Připojení ke službě HTML5 ; TCP 8080| HTML5
HTML5 --> |TLS Tunnel| MED
GW --> |TLS Tunnel| MED
linkStyle 0,1 stroke:#d22,color;
V tomto kontextu bude nutné přidat níže uvedené informace do souboru /etc/ipdiva/httpd/commonParameters.extra.conf nebo tento soubor vytvořit.
Nastavení lze přizpůsobit:
| Vlastní hodnota | Proměnná | Komentář |
|---|---|---|
HTML5_URL_LAN |
URL nakonfigurovaná při deklarování komponenty HTML5 Gateway v konzole pro správu. | |
GW_NAME_LAN |
Název komponenty Edge Gateway použité pro připojení ke službě HTML5. Znak svislé čáry na konci řádku musí být zachován. | |
ORGANIZATION_NAME_LAN |
Název organizace, ke které se komponenta Edge Gateway připojuje. | |
HTML5_IP_LAN |
Název DNS nebo IP adresa serveru Docker, na kterém je aktivní komponenta HTML5 Gateway Docker. | |
HTML5_PORT_LAN |
Port publikovaný serverem Docker pro 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 | |
Tip
Tuto konfiguraci lze použít také v následující situaci, kdy komponenty Docker Edge Gateway a Docker HTML5 Gateway běží ve stejné síti 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 -.- | Připojení ke službě HTML5 ; přes tunel TLS| GW -.-> |Připojení ke službě HTML5 ; TCP 8080 přes síť Docker| HTML5
HTML5 --> |TLS Tunnel| MED
GW --> |TLS Tunnel| MED
linkStyle 0,1 stroke:#d22,color;
Příklad
V tomto příkladu nasadíme komponenty Edge Gateway a HTML5 Gateway na stejný server Docker.
Infrastruktura použitá v příkladu je následující:
- Server Mediation Controller
- Webová IP adresa:
10.0.10.10 - Název organizace:
my-organization-name - Token pro komponentu Edge Gateway:
YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH - Token pro komponentu HTML5 Gateway:
ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF - URL pro přístup ke službě HTML5:
HTML5_DOCKER
- Webová IP adresa:
- Server Docker
- Název sítě Docker:
cyberelements-cleanroom-network - Edge Gateway
- Název:
my-edge-gateway-docker - Kořenové umístění v systému souborů:
/opt/my-edge-gateway-docker
- Název:
- HTML5 Gateway
- Název:
my-html5-gateway-docker - Kořenové umístění v systému souborů:
/opt/my-html5-gateway-docker
- Název:
- Název sítě Docker:
Nejprve je nutné na serveru Docker vytvořit stromovou strukturu pro připojení svazků Docker:
1 2 3 4 5 6 | |
Poté vytvořte síť Docker typu bridge, aby spolu oba kontejnery mohly komunikovat:
1 | |
Dále spusťte kontejner Edge Gateway. Upozorňujeme, že příklad navazuje připojení pomocí pairingu, s přístupem k serveru Mediation Controller přes jeho IP adresu a bez kontroly certifikátu. Kromě toho je přidán parametr --network, který určuje použití dříve vytvořené sítě Docker:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Dále spusťte kontejner HTML5 Gateway. Upozorňujeme, že příklad navazuje připojení pomocí pairingu, s přístupem k serveru Mediation Controller přes jeho IP adresu a bez kontroly certifikátu. Kromě toho je přidán parametr --network, který určuje použití dříve vytvořené sítě Docker, a protože přístup ke službě HTML5 povede přes síť Docker, není nutné publikovat port 8080:
1 2 3 4 5 6 7 8 | |
Nakonec je nutné nakonfigurovat soubor /etc/ipdiva/httpd/commonParameters.extra.conf na serveru nebo serverech Mediation Controller. Je třeba přidat následující část:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Před použitím nového nastavení musíte ověřit, že nová konfigurace nezpůsobuje žádné blokující chyby webového serveru Apache2.
Za tímto účelem spusťte následující příkaz:
1 | |
Pokud je výsledkem Syntax OK, lze změny použít níže uvedeným příkazem. V opačném případě zkontrolujte konfiguraci svého souboru /etc/ipdiva/httpd/commonParameters.extra.conf.
1 | |