Přeskočit obsah

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
docker load --input cleanroom-html5-4.6.1-33-v2.tgz

Poté následujícím příkazem ověřte, že import proběhl úspěšně:

1
docker inspect --type=image cleanroom-html5:4.6.1-33-v2

Očekávaný výstup je následující. Pokud tomu tak není, import selhal:

1
2
3
4
5
6
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
Ú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
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2025-08-27T11:35:33.014244258+02:00",
        "DockerVersion": "",
        "Author": "",
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 781097647,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/aa079416d669709486e3fd3dfefcff51acb3905ffcca7e6e428630d1a499e669/diff:/var/lib/docker/overlay2/da9f43ee88f5961a157af404be018fc7c3f5185a798b26911e38118d83830de7/diff:/var/lib/docker/overlay2/28efb3982392e95711e849cb90985fd534cd6273f4dec758463f98b41a432e93/diff:/var/lib/docker/overlay2/44a3abed0a932259b79c9e5e273749cc06bd8aca7d3adbfd1753a7b053dcae2f/diff:/var/lib/docker/overlay2/e3dfd4c7c4fe568ef731bd91314e69cc5c807ce717d5f4ea94f0d02cc11e70c5/diff:/var/lib/docker/overlay2/5acf2b56871d2537d95b9981c0498e16723a9eca20827f550366b48d8acf508f/diff:/var/lib/docker/overlay2/c732cd17c6501229b3a12c488d7f4c26f8634329211cac54ff1cf0d53055421f/diff:/var/lib/docker/overlay2/fd61cbda2a5e9a578c5a8eea67b63df3d31642588be3b6f2f7ebe6e10964f745/diff",
                "MergedDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/merged",
                "UpperDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/diff",
                "WorkDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:4668f0f488e5ad4494fadff56ad585c514794b3a293e5e8d006410de9da08155",
                "sha256:782f6c5256575fbef0e518a1a1ce9188c457f1a0e9b88b733ed672f6e1be482d",
                "sha256:e09fd3e10e878ef6c812ccde0fa55b66cf4b9b593cf182c2760fec73649968c2",
                "sha256:e51c952c7bd89e0a3188c683d689eed81444d5513c14251f4b21cb9fd056d27d",
                "sha256:233ff67db52988898e3c1b4c2573b86c1c0c50d23f1f4b2365e3fc51abedbf9f",
                "sha256:f832eee42398852cab80a9a45138bf076d63ebbe153263fd8cf66857a0833d02",
                "sha256:f59f79d19c38ae4863b81774ad1d98030370c64e17013eb786da7b727bf2b41b",
                "sha256:0caeed550a29dbb274781e78bbe910fa5ccfdc90119cb4f9e3c815feff5a70b9",
                "sha256:21313651aa44ac0f5dd459a94be172b003b68f81b0db945c24a7ada5c21799e3"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        },
        "Config": {
            "Cmd": null,
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "IMAGE_BUILD_DATE=20250827T112940",
                "IMAGE_BUILD_VERSION=4.6.1-33-v2",
                "IMAGE_IPDIPC=IPC-53702"
            ],
            "ExposedPorts": {
                "8080/tcp": {},
                "8090/tcp": {}
            },
            "Labels": {
                "maintainer": "contact@systancia.com",
                "org.label-schema.build-date": "20250827T112940",
                "org.label-schema.description": "Systancia Cleanroom Gateway",
                "org.label-schema.name": "Systancia Cleanroom 4.6.1-33-v2 HTML5 Server",
                "org.label-schema.url": "http://systancia.com/",
                "org.label-schema.vendor": "Systancia",
                "version": "4.6.1-33-v2"
            },
            "OnBuild": null,
            "User": "root",
            "Volumes": null,
            "WorkingDir": ""
        }
    }
]

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
mkdir -p HTML5_GATEWAY_REP/config
mkdir HTML5_GATEWAY_REP/log
1
New-Item -ItemType Directory -Force -Path "HTML5_GATEWAY_REP\config", "HTML5_GATEWAY_REP\log"

A nakonec spusťte nový kontejner:

1
2
3
4
5
6
7
8
docker run -d --restart unless-stopped --name "DOCKER_NAME" \
-e ENV_MEDIATION="ENV_MEDIATION_VALUE" \
-e ENV_TOKEN="ENV_TOKEN_VALUE" \
-e ENV_NO_CHECK_CERT="ENV_NO_CHECK_CERT_VALUE" \
-v "HTML5_GATEWAY_REP/config/:/etc/ipdiva/:rw" \
-v "HTML5_GATEWAY_REP/log/:/var/log/:rw" \
-p 8080:8080 \
cleanroom-html5:4.6.1-33-v2
1
2
3
4
5
6
7
8
docker run -d --restart unless-stopped --name "DOCKER_NAME" `
-e "ENV_MEDIATION=ENV_MEDIATION_VALUE" `
-e "ENV_TOKEN=ENV_TOKEN_VALUE" `
-e "ENV_NO_CHECK_CERT=ENV_NO_CHECK_CERT_VALUE" `
-v "HTML5_GATEWAY_REP\config:/etc/ipdiva/:rw" `
-v "HTML5_GATEWAY_REP\log:/var/log/:rw" `
-p 8080:8080 `
cleanroom-html5:4.6.1-33-v2

Logy kontejneru lze zobrazit pomocí následujícího příkazu:

1
docker logs -f DOCKER_NAME

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
mkdir -p MANUAL_REP/config
mkdir MANUAL_REP/log
mkdir MANUAL_REP/certificates
1
New-Item -ItemType Directory -Force -Path "MANUAL_REP\config", "MANUAL_REP\log", "MANUAL_REP\certificates"

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
read -rsp "HTML5 Gateway certificate password: " ENV_GW_CERT_PASSWORD; echo
export ENV_GW_CERT_PASSWORD
1
$env:ENV_GW_CERT_PASSWORD = [Net.NetworkCredential]::new('', (Read-Host -AsSecureString "HTML5 Gateway certificate password")).Password

Nakonec spusťte nový kontejner:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d --restart unless-stopped --name "MANUAL_NAME" \
-e ENV_GW_CERT_NAME="ENV_GW_CERT_NAME_VALUE" \
-e ENV_GW_CERT_PASSWORD \
-e ENV_SSL_ROUTER_IP="ENV_SSL_ROUTER_IP_VALUE" \
-e ENV_SSL_ROUTER_PORT="ENV_SSL_ROUTER_PORT_VALUE" \
-v "MANUAL_REP/config/:/etc/ipdiva/:rw" \
-v "MANUAL_REP/log/:/var/log/:rw" \
-v "MANUAL_REP/certificates/:/opt/certificates/:ro" \
-p 8080:8080 \
cleanroom-html5:4.6.1-33-v2
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d --restart unless-stopped --name "MANUAL_NAME" `
-e "ENV_GW_CERT_NAME=ENV_GW_CERT_NAME_VALUE" `
-e ENV_GW_CERT_PASSWORD `
-e "ENV_SSL_ROUTER_IP=ENV_SSL_ROUTER_IP_VALUE" `
-e "ENV_SSL_ROUTER_PORT=ENV_SSL_ROUTER_PORT_VALUE" `
-v "MANUAL_REP\config:/etc/ipdiva/:rw" `
-v "MANUAL_REP\log:/var/log/:rw" `
-v "MANUAL_REP\certificates:/opt/certificates/:ro" `
-p 8080:8080 `
cleanroom-html5:4.6.1-33-v2

Po spuštění kontejneru odeberte tyto proměnné z relace:

1
unset ENV_GW_CERT_PASSWORD
1
Remove-Item Env:ENV_GW_CERT_PASSWORD

Logy kontejneru lze zobrazit pomocí následujícího příkazu:

1
docker logs -f MANUAL_NAME

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;
Hold "Ctrl" to enable pan & zoom

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
<Location /HTML5_URL_DMZ/>
    Order allow,deny
    Allow from all
    ProxyPass http://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://HTML5_IP_DMZ:HTML5_PORT_DMZ
</Location>

<Location /HTML5_URL_DMZ/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/websocket-tunnel
</Location>

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;
Hold "Ctrl" to enable pan & zoom

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
<Location /HTML5_URL_LAN/>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway GW_NAME_LAN|
    RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME_LAN
    RequestHeader set X-IPdiva-Service HTML5_IP_LAN:HTML5_PORT_LAN

    ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5_URL_LAN/websocket-tunnel>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway GW_NAME_LAN|
    RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME_LAN
    RequestHeader set X-IPdiva-Service HTML5_IP_LAN:HTML5_PORT_LAN

    ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

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;
Hold "Ctrl" to enable pan & zoom
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
  • 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
    • HTML5 Gateway
      • Název: my-html5-gateway-docker
      • Kořenové umístění v systému souborů: /opt/my-html5-gateway-docker

Nejprve je nutné na serveru Docker vytvořit stromovou strukturu pro připojení svazků Docker:

1
2
3
4
5
6
mkdir -p /opt/my-edge-gateway-docker/config
mkdir /opt/my-edge-gateway-docker/graphical_archives
mkdir /opt/my-edge-gateway-docker/ssh_archives
mkdir /opt/my-edge-gateway-docker/log
mkdir -p /opt/my-html5-gateway-docker/config
mkdir /opt/my-html5-gateway-docker/log

Poté vytvořte síť Docker typu bridge, aby spolu oba kontejnery mohly komunikovat:

1
docker network create -d bridge cyberelements-cleanroom-network

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
docker run -d --restart unless-stopped --name "my-edge-gateway-docker" \
-e ENV_MEDIATION="10.0.10.10" \
-e ENV_TOKEN="YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH" \
-e ENV_NO_CHECK_CERT="true" \
-v "/opt/my-edge-gateway-docker/config/:/etc/ipdiva/:rw" \
-v "/opt/my-edge-gateway-docker/graphical_archives/:/var/lib/ipdiva/carerecord/archives/:rw" \
-v "/opt/my-edge-gateway-docker/ssh_archives/:/var/ipdiva/care/sshrecord/:rw" \
-v "/opt/my-edge-gateway-docker/log/:/var/log/:rw" \
-p 2222:2222 \
-p 3389:3389 \
-p 8443:8443 \
--network="cyberelements-cleanroom-network" \
cleanroom-gateway:4.6.1-33-v2

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
docker run -d --restart unless-stopped --name "my-html5-gateway-docker" \
-e ENV_MEDIATION="10.0.10.10" \
-e ENV_TOKEN="ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF" \
-e ENV_NO_CHECK_CERT="true" \
-v "/opt/my-html5-gateway-docker/config/:/etc/ipdiva/:rw" \
-v "/opt/my-html5-gateway-docker/log/:/var/log/:rw" \
--network="cyberelements-cleanroom-network" \
cleanroom-html5:4.6.1-33-v2

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
<Location /HTML5_DOCKER/>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway my-edge-gateway-docker|
    RequestHeader set X-IPdiva-Orgname my-organization-name
    RequestHeader set X-IPdiva-Service my-html5-gateway-docker:8080

    ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5_DOCKER/websocket-tunnel>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway my-edge-gateway-docker|
    RequestHeader set X-IPdiva-Orgname my-organization-name
    RequestHeader set X-IPdiva-Service my-html5-gateway-docker:8080

    ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

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
apache2ctl configtest

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
systemctl reload apache2