Към съдържанието

Инсталиране на HTML5 Gateway Docker

Импортиране на образа на Docker

Преди да можете да създадете контейнер HTML5 Gateway Docker, трябва да импортирате образа на Docker. За целта стартирайте обвивка, от която са ви достъпни командите на Docker, както и файлът cleanroom-html5-4.6.1-33-v2.tgz. От обвивката изпълнете следната команда, като коригирате пътя до файла TGZ, ако той не се намира в текущата директория:

1
docker load --input cleanroom-html5-4.6.1-33-v2.tgz

След това проверете със следната команда дали импортирането е успешно:

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

Очакваният резултат е следният. Ако не е така, импортирането е неуспешно:

1
2
3
4
5
6
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
Пълен изход
 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": ""
        }
    }
]

Конфигурация на контейнера

Променливи на средата

Променливи за внедряване чрез сдвояване

Име Задължителна Стойност по подразбиране Коментар
ENV_MEDIATION ДА Използва се за свързване чрез сдвояване.
Указва DNS името или IP адреса за свързване с уеб интерфейса на платформа CyberElements Bastion.
ENV_TOKEN ДА Използва се за връзка чрез сдвояване.
Указва маркера за сдвояване, който да се използва за свързване към Mediation Controller.
ENV_NO_CHECK_CERT НЕ false Използва се за свързвания чрез сдвояване.
Дали да се деактивира проверката на уеб сертификата на Mediation Controller; полезно при CyberElements Bastion, когато достъпът е чрез IP адрес или когато уеб сертификатът не е сертификат, разпознат от публичните сертифициращи органи по подразбиране.
Приети стойности: true или false.

Променливи за ръчно внедряване

Име Задължителна Стойност по подразбиране Коментар
ENV_GW_CERT_NAME ДА Използва се за връзка с ръчна конфигурация.
Име на файла със сертификата за свързване към SSL Router.
ENV_GW_CERT_PASSWORD ДА Използва се за връзка с ръчна конфигурация.
Парола на файла със сертификата за свързване към SSL Router.
ENV_SSL_ROUTER_IP ДА Използва се за свързване с ръчна конфигурация.
IP адрес или DNS име на SSL рутера, към който ще се свърже HTML5 Gateway.
ENV_SSL_ROUTER_PORT НЕ 443 Използва се за свързване с ръчна конфигурация.
Порт на SSL рутера, към който ще се свърже HTML5 Gateway.

Различни променливи

Име Задължителна Стойност по подразбиране Коментар
ENV_DISABLE_RSYSLOG НЕ false Деактивиране на услугата rsyslog.
Приемани стойности: true или false.

Томове

Том Коментар
/etc/ipdiva/ Том за конфигурацията на HTML5 Gateway.
Препоръчваме да го монтирате върху именуван том или във файловата система на хост компютъра.
/opt/certificates/ Том, съдържащ сертификата(ите) на HTML5 Gateway при конфигуриране без сдвояване.
/var/log/ Том, съдържащ дневниците на HTML5 Gateway.

Портове

Порт Коментар
8080 Порт за слушане на услугата HTML5.

Внедряване на HTML5 Gateway Docker

Внедряване със сдвояване

Предварителни изисквания

Преди да внедрите HTML5 Gateway Docker, трябва да получите маркер за сдвояване.

Описаното по-долу внедряване ще използва всички налични томове (с изключение на /opt/certificates/, който не е полезен в този контекст) и ще изложи всички портове.
Томовете ще бъдат монтирани във файловата система на хост компютъра в местоположението HTML5_GATEWAY_REP. В това местоположение се намират следните поддиректории:

  • config
  • log

Можете да персонализирате променливите за следните команди:

Персонализирана стойност Променлива Коментар
DOCKER_NAME Име на контейнера на Docker.
HTML5_GATEWAY_REP Местоположение във файловата система, където да се монтират томовете.
ENV_MEDIATION_VALUE Стойност на променливата на средата ENV_MEDIATION.
ENV_TOKEN_VALUE Стойност на променливата на средата ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Стойност на променливата на средата ENV_NO_CHECK_CERT.

Създайте дървото на директориите, необходимо за монтиране на томовете във файловата система:

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"

И накрая стартирайте нов контейнер:

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

Дневниците на контейнера могат да се прегледат със следната команда:

1
docker logs -f DOCKER_NAME

Ръчно внедряване

Предварителни изисквания

Преди да внедрите HTML5 Gateway Docker, трябва да разполагате със сертификата, необходим за HTML5 Gateway.

Пароли, видими с docker inspect

Променливите на средата на даден контейнер, включително паролите за сертификатите, остават четими за всеки, на когото е разрешено да изпълнява docker inspect на сървъра Docker. Затова за предпочитане е внедряването със сдвояване, което не използва парола за сертификат.

Описаното по-долу внедряване използва всички налични томове и прави достъпни всички портове.
Томовете ще бъдат монтирани във файловата система на хост компютъра в местоположението MANUAL_REP. В това местоположение се намират следните поддиректории:

  • config
  • log
  • certificates

Можете да персонализирате променливите за следните команди:

Персонализирана стойност Променлива Коментар
MANUAL_NAME Име на контейнера Docker.
MANUAL_REP Местоположение във файловата система, в което се монтират томовете.
ENV_GW_CERT_NAME_VALUE Стойност на променливата на средата ENV_GW_CERT_NAME.
ENV_SSL_ROUTER_IP_VALUE Стойност на променливата на средата ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Стойност на променливата на средата ENV_SSL_ROUTER_PORT.

Създайте дървото на директориите, необходимо за монтиране на томовете във файловата система:

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"

След това поставете сертификатите за HTML5 Gateway и за услугата за записване в MANUAL_REP/certificates.

За да не се запазват паролите за сертификатите в историята на обвивката, въведете ги в променливи на средата на текущата сесия (въвежданият текст не се показва):

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

Накрая стартирайте нов контейнер:

 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

След като контейнерът стартира, премахнете тези променливи от сесията:

1
unset ENV_GW_CERT_PASSWORD
1
Remove-Item Env:ENV_GW_CERT_PASSWORD

Дневниците на контейнера могат да се прегледат със следната команда:

1
docker logs -f MANUAL_NAME

Конфигуриране на Mediation Controller

За да заработи новият HTML5 Gateway Docker, сървърът Mediation Controller трябва да бъде конфигуриран чрез SSH или достъп до конзолата и с разрешения на root.

Тази последна настройка е необходима, за да може Mediation Controller да комуникира с услугата HTML5.
Тази конфигурация обаче зависи от местоположението на HTML5 Gateway Docker:

Общата схема е следната:

flowchart LR
    subgraph DMZ
        direction TB
        HTML5(HTML5 Gateway Docker)
        MED(Mediation Controller)
    end

    subgraph LAN
        GW(Edge Gateway)
    end


    MED -.-> |Връзка с услугата 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

В този контекст ще е необходимо да добавите посочената по-долу информация във файла /etc/ipdiva/httpd/commonParameters.extra.conf или да го създадете.
Налична е персонализация на настройките:

Персонализирана стойност Променлива Коментар
HTML5_URL_DMZ URL адрес, конфигуриран при деклариране на HTML5 Gateway в административната конзола.
HTML5_IP_DMZ DNS име или IP адрес на сървъра на Docker, на който е активен HTML5 Gateway Docker.
HTML5_PORT_DMZ Порт, публикуван от сървъра на Docker за 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>

Общата схема е следната:

flowchart LR
    subgraph DMZ
        direction TB
        MED(Mediation Controller)
    end

    subgraph LAN
        HTML5(HTML5 Gateway Docker)
        GW(Edge Gateway)
    end


    MED -.- | Връзка с услугата HTML5 ; през TLS тунел| GW -.-> |Връзка с услугата HTML5 ; TCP 8080| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

    linkStyle 0,1 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom

В този контекст ще е необходимо да добавите посочената по-долу информация във файла /etc/ipdiva/httpd/commonParameters.extra.conf или да го създадете.
Налична е персонализация на настройките:

Персонализирана стойност Променлива Коментар
HTML5_URL_LAN URL адрес, конфигуриран при деклариране на HTML5 Gateway в административната конзола.
GW_NAME_LAN Име на Edge Gateway, използван за свързване с услугата HTML5. Знакът „вертикална черта“ в края на реда трябва да бъде запазен.
ORGANIZATION_NAME_LAN Име на организацията, към която се свързва Edge Gateway.
HTML5_IP_LAN DNS име или IP адрес на сървъра на Docker, на който е активен HTML5 Gateway Docker.
HTML5_PORT_LAN Порт, публикуван от сървъра на Docker за 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>

Съвет

Тази конфигурация може да се използва и в следната ситуация, при която Edge Gateway в Docker и HTML5 Gateway в Docker работят в една и съща мрежа на 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 -.- | Връзка с услугата HTML5 ; през TLS тунел| GW -.-> |Връзка с услугата HTML5 ; TCP 8080 през Docker мрежата| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

    linkStyle 0,1 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom
Пример

В този пример ще внедрим Edge Gateway и HTML5 Gateway на един и същ сървър на Docker.

Инфраструктурата, използвана за примера, е следната:

  • Сървър Mediation Controller
    • Уеб IP адрес: 10.0.10.10
    • Име на организацията: my-organization-name
    • Маркер за Edge Gateway: YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH
    • Маркер за HTML5 Gateway: ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF
    • URL адрес за достъп до услугата HTML5: HTML5_DOCKER
  • Сървър на Docker
    • Име на мрежата на Docker: cyberelements-cleanroom-network
    • Edge Gateway
      • Име: my-edge-gateway-docker
      • Основно местоположение във файловата система: /opt/my-edge-gateway-docker
    • HTML5 Gateway
      • Име: my-html5-gateway-docker
      • Основно местоположение във файловата система: /opt/my-html5-gateway-docker

Първо, на сървъра на Docker трябва да създадете дървовидната структура за монтиране на томовете на 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

След това създайте мрежа на Docker от тип bridge, така че двата контейнера да могат да комуникират помежду си:

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

След това стартирайте контейнера Edge Gateway. Имайте предвид, че в примера се установява връзка чрез сдвояване, с достъп до Mediation Controller чрез неговия IP адрес и без добавена проверка на сертификата. Освен това е добавен параметърът --network, за да се укаже използването на създадената преди това мрежа на 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

След това стартирайте контейнера HTML5 Gateway. Имайте предвид, че в примера се установява връзка чрез сдвояване, с достъп до Mediation Controller чрез неговия IP адрес и без добавена проверка на сертификата. Освен това е добавен параметърът --network, за да се укаже използването на създадената преди това мрежа на Docker, а тъй като достъпът до услугата HTML5 ще минава през мрежата на Docker, не е необходимо да се публикува порт 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

Накрая трябва да се конфигурира файлът /etc/ipdiva/httpd/commonParameters.extra.conf на сървъра или сървърите Mediation Controller. Трябва да се добави следната секция:

 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>

Преди да приложите новите настройки, трябва да проверите дали новата конфигурация не предизвиква блокиращи грешки за уеб сървъра Apache2.
За да направите това, изпълнете следната команда:

1
apache2ctl configtest

Ако резултатът е Syntax OK, промените могат да бъдат приложени с командата по-долу. В противен случай проверете конфигурацията на вашия файл /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2