Инсталиране на HTML5 Gateway Docker¶
Импортиране на образа на Docker¶
Преди да можете да създадете контейнер HTML5 Gateway Docker, трябва да импортирате образа на Docker. За целта стартирайте обвивка, от която са ви достъпни командите на Docker, както и файлът cleanroom-html5-4.6.1-33-v2.tgz. От обвивката изпълнете следната команда, като коригирате пътя до файла TGZ, ако той не се намира в текущата директория:
1 | |
След това проверете със следната команда дали импортирането е успешно:
1 | |
Очакваният резултат е следният. Ако не е така, импортирането е неуспешно:
1 2 3 4 5 6 | |
Пълен изход
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 | |
Конфигурация на контейнера¶
Променливи на средата¶
Променливи за внедряване чрез сдвояване¶
| Име | Задължителна | Стойност по подразбиране | Коментар |
|---|---|---|---|
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 | |
1 | |
И накрая стартирайте нов контейнер:
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 | |
Дневниците на контейнера могат да се прегледат със следната команда:
1 | |
Ръчно внедряване¶
Предварителни изисквания
Преди да внедрите 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 | |
1 | |
След това поставете сертификатите за HTML5 Gateway и за услугата за записване в MANUAL_REP/certificates.
За да не се запазват паролите за сертификатите в историята на обвивката, въведете ги в променливи на средата на текущата сесия (въвежданият текст не се показва):
1 2 | |
1 | |
Накрая стартирайте нов контейнер:
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 | |
След като контейнерът стартира, премахнете тези променливи от сесията:
1 | |
1 | |
Дневниците на контейнера могат да се прегледат със следната команда:
1 | |
Конфигуриране на 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;
В този контекст ще е необходимо да добавите посочената по-долу информация във файла /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 | |
Общата схема е следната:
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;
В този контекст ще е необходимо да добавите посочената по-долу информация във файла /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 | |
Съвет
Тази конфигурация може да се използва и в следната ситуация, при която 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;
Пример
В този пример ще внедрим 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
- Уеб IP адрес:
- Сървър на 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 трябва да създадете дървовидната структура за монтиране на томовете на Docker:
1 2 3 4 5 6 | |
След това създайте мрежа на Docker от тип bridge, така че двата контейнера да могат да комуникират помежду си:
1 | |
След това стартирайте контейнера Edge Gateway. Имайте предвид, че в примера се установява връзка чрез сдвояване, с достъп до Mediation Controller чрез неговия IP адрес и без добавена проверка на сертификата. Освен това е добавен параметърът --network, за да се укаже използването на създадената преди това мрежа на Docker:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
След това стартирайте контейнера HTML5 Gateway. Имайте предвид, че в примера се установява връзка чрез сдвояване, с достъп до Mediation Controller чрез неговия IP адрес и без добавена проверка на сертификата. Освен това е добавен параметърът --network, за да се укаже използването на създадената преди това мрежа на Docker, а тъй като достъпът до услугата HTML5 ще минава през мрежата на Docker, не е необходимо да се публикува порт 8080:
1 2 3 4 5 6 7 8 | |
Накрая трябва да се конфигурира файлът /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 | |
Преди да приложите новите настройки, трябва да проверите дали новата конфигурация не предизвиква блокиращи грешки за уеб сървъра Apache2.
За да направите това, изпълнете следната команда:
1 | |
Ако резултатът е Syntax OK, промените могат да бъдат приложени с командата по-долу. В противен случай проверете конфигурацията на вашия файл /etc/ipdiva/httpd/commonParameters.extra.conf.
1 | |