Instalación del Docker de la puerta de enlace HTML5¶
Importar la imagen de Docker¶
Antes de crear un contenedor de Docker de la puerta de enlace HTML5, debe importar la imagen de Docker. Para ello, inicie un shell desde el que tenga disponibles los comandos de Docker, así como el archivo cleanroom-html5-4.6.1-33-v2.tgz. Desde el shell, ejecute el siguiente comando, ajustando la ruta al archivo TGZ si no está en el directorio actual:
1 | |
A continuación, compruebe que la importación fue exitosa con el siguiente comando:
1 | |
La producción esperada es la siguiente: si no es así, la importación ha fracasado:
1 2 3 4 5 6 | |
Salida completa
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 | |
Configuración del contenedor¶
Variables del entorno¶
Variables para el despliegue por emparejamiento¶
| Nombre | Obligatorio | Valor predeterminado | Comentario |
|---|---|---|---|
ENV_MEDIATION |
SI | Se utiliza para conexión de emparejamiento. Indica el nombre de DNS o la dirección IP para conectarse a la interfaz web de una plataforma ** cibernética**elementos Cleanroom. |
|
ENV_TOKEN |
SI | Se utiliza para la conexión de emparejamiento. Indicación del token de emparejamiento que se utilizará para la conexión con el Mediation Controller. |
|
ENV_NO_CHECK_CERT |
NO | false |
Se utiliza para conexiones de emparejamiento. Si deshabilitar o no Mediation Controller verificación de certificados web, útil con ** ciber** elementos Cleanroom cuando se accede a través de la dirección IP o cuando el certificado web no es un certificado reconocido por las autoridades de certificación públicas predeterminadas. Valores aceptados: true o false. |
Variables para el despliegue manual¶
| Nombre | Obligatorio | Valor predeterminado | Comentario |
|---|---|---|---|
ENV_GW_CERT_NAME |
SI | Se utiliza para la conexión con la configuración manual. Nombre del archivo de certificado para conectarse al router SSL. |
|
ENV_GW_CERT_PASSWORD |
SI | Se utiliza para la conexión con la configuración manual. La contraseña del archivo de certificado para la conexión al enrutador SSL. |
|
ENV_SSL_ROUTER_IP |
SI | Se utiliza para la conexión con la configuración manual. Dirección IP o nombre DNS del enrutador SSL al que se conectará la puerta de enlace HTML5. |
|
ENV_SSL_ROUTER_PORT |
NO | 443 |
Se utiliza para la conexión con la configuración manual. Puerto del enrutador SSL al que se conectará la puerta de enlace HTML5. |
Varias variables¶
| Nombre | Obligatorio | Valor predeterminado | Comentario |
|---|---|---|---|
ENV_DISABLE_RSYSLOG |
NO | false |
Desactivación del servicio rsyslogValores aceptados: true o false |
Volúmenes de las¶
| Volumen | Comentario |
|---|---|
/etc/ipdiva/ |
Volumen de configuración de la puerta de enlace HTML5. Recomendamos montarlo en un volumen con nombre o en el sistema de archivos de la máquina host. |
/opt/certificates/ |
Volumen que contiene el certificado de la puerta de enlace HTML5 (s) cuando se configura sin emparejar. |
/var/log/ |
Volumen que contiene los registros de la puerta de enlace HTML5. |
Puertos¶
| puerto | comentario |
|---|---|
8080 |
Puerto de escucha de servicio HTML5 |
Deployment del HTML5 Docker de la puerta de enlace¶
Despliegue con emparejamiento¶
Requisitos previos
Antes de desplegar el Docker de la puerta de enlace HTML5, debe obtener un token de emparejamiento .
El despliegue descrito a continuación utilizará todos los volúmenes disponibles (excepto /opt/certificates/ que no es útil en este contexto) y expondrá todos los puertos.
Los volúmenes se montarán en el sistema de archivos de la máquina host con la ubicación HTML5_GATEWAY_REP. Dentro de esta ubicación se encuentran los siguientes subdirectorios:
- config
- registro
Puede personalizar las variables para los siguientes comandos:
| Valor personalizado | Variable | Comentario |
|---|---|---|
DOCKER_NAME |
Nombre del contenedor de Docker. | |
HTML5_GATEWAY_REP |
Ubicación en el sistema de archivos para montar los volúmenes. | |
ENV_MEDIATION_VALUE |
Valor de la variable ENV_MEDIATION del entorno |
|
ENV_TOKEN_VALUE |
Valor de la variable ENV_TOKEN del entorno |
|
ENV_NO_CHECK_CERT_VALUE |
Valor de la variable ENV_NO_CHECK_CERT del entorno |
Crear el árbol de directorios necesario para montar volúmenes en el sistema de archivos:
1 2 | |
Y finalmente, comienza un nuevo contenedor:
1 2 3 4 5 6 7 8 | |
Los registros de contenedores se pueden ver usando el siguiente comando:
1 | |
Desarrollo manual¶
Requisitos previos
Antes de desplegar el HTML5 Gateway Docker, debe tener el certificado requerido para el HTML5 Gateway.
El despliegue descrito a continuación utilizará todos los volúmenes disponibles y expondrá todos los puertos.
Los volúmenes se montarán en el sistema de archivos de la máquina host con la ubicación MANUAL_REP. Dentro de esta ubicación se encuentran los siguientes subdirectorios:
- config
- registro
- Certificados
Puede personalizar las variables para los siguientes comandos:
| Valor personalizado | Variable | Comentario |
|---|---|---|
MANUAL_NAME |
Nombre del contenedor de Docker. | |
MANUAL_REP |
Ubicación en el sistema de archivos para montar los volúmenes. | |
ENV_GW_CERT_NAME_VALUE |
Valor de la variable ENV_GW_CERT_NAME del entorno |
|
ENV_GW_CERT_PASSWORD_VALUE |
Valor de la variable ENV_GW_CERT_PASSWORD del entorno |
|
ENV_SSL_ROUTER_IP_VALUE |
Valor de la variable ENV_SSL_ROUTER_IP del entorno |
|
ENV_SSL_ROUTER_PORT_VALUE |
Valor de la variable ENV_SSL_ROUTER_PORT del entorno |
Crear el árbol de directorios necesario para montar volúmenes en el sistema de archivos:
1 2 3 | |
Luego coloque los certificados para el HTML5 Gateway y el servicio de grabación en MANUAL_REP/certificates.
Por último, iniciar un nuevo contenedor:
1 2 3 4 5 6 7 8 9 10 | |
Los registros de contenedores se pueden ver usando el siguiente comando:
1 | |
Configuración del Mediation Controller¶
Para que el nuevo HTML5 Gateway Docker esté operativo, el servidor Mediation Controller aún necesita ser configurado a través de SSH o acceso de consola y permisos root.
Esta última configuración es necesaria para permitir que el Mediation Controller se comunique con el servicio HTML5.
Sin embargo, esta configuración varía dependiendo de la ubicación del Docker de la puerta de enlace HTML5:
El esquema general es el siguiente:
flowchart LR
subgraph DMZ
direction TB
HTML5(HTML5 Gateway Docker)
MED(Mediation Controller)
end
subgraph LAN
GW(Edge Gateway)
end
MED -.-> |Connection to HTML5 service ; TCP 8080| HTML5
HTML5 --> |TLS Tunnel| MED
MED ~~~ GW
GW --> |TLS Tunnel| MED
GW ~~~ MED
linkStyle 0 stroke:#d22,color;
En este contexto, será necesario añadir la información que se indica a continuación al archivo /etc/ipdiva/httpd/commonParameters.extra.conf o crearlo.
La personalización de la configuración está disponible:
| Valor personalizado | Variable | Comentario |
|---|---|---|
HTML5_URL_DMZ |
URL configurado al declarar el HTML5 Gateway en la consola de administración. | |
HTML5_IP_DMZ |
nombre de DNS o dirección IP del servidor Docker en el que el Docker de la puerta de enlace HTML5 está activo. | |
HTML5_PORT_DMZ |
Puerto publicado por el servidor Docker para el Docker de la puerta de enlace HTML5. |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
El esquema general es el siguiente:
flowchart LR
subgraph DMZ
direction TB
MED(Mediation Controller)
end
subgraph LAN
HTML5(HTML5 Gateway Docker)
GW(Edge Gateway)
end
MED -.- | Connection to HTML5 service ; through TLS Tunnel| GW -.-> |Connection to HTML5 service ; TCP 8080| HTML5
HTML5 --> |TLS Tunnel| MED
GW --> |TLS Tunnel| MED
linkStyle 0,1 stroke:#d22,color;
En este contexto, será necesario añadir la información que se indica a continuación al archivo /etc/ipdiva/httpd/commonParameters.extra.conf o crearlo.
La personalización de la configuración está disponible:
| Valor personalizado | Variable | Comentario |
|---|---|---|
HTML5_URL_LAN |
URL configurado al declarar el HTML5 Gateway en la consola de administración. | |
GW_NAME_LAN |
Nombre del Edge Gateway utilizado para conectarse al servicio HTML5. El carácter pipe al final de la línea ** debe mantenerse **. | |
ORGANIZATION_NAME_LAN |
Nombre de la organización a la que se conecta el Edge Gateway | |
HTML5_IP_LAN |
nombre de DNS o dirección IP del servidor Docker en el que el Docker de la puerta de enlace HTML5 está activo. | |
HTML5_PORT_LAN |
Puerto publicado por el servidor Docker para el Docker de la puerta de enlace HTML5. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Tip
Esta configuración también se puede utilizar en la siguiente situación en la que un Docker Edge Gateway y un Docker HTML5 Gateway se ejecutan en la misma red 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 -.- | Connection to HTML5 service ; through TLS Tunnel| GW -.-> |Connection to HTML5 service ; TCP 8080 through Docker network| HTML5
HTML5 --> |TLS Tunnel| MED
GW --> |TLS Tunnel| MED
linkStyle 0,1 stroke:#d22,color;
Ejemplo
En este ejemplo, vamos a desplegar un Edge Gateway y un HTML5 Gateway en el mismo servidor Docker.
La infraestructura utilizada para el ejemplo es la siguiente:
- Servidor Mediation Controller
- Dirección IP de la red:
10.0.10.10 - Nombre de la organización:
my-organization-name - Token para Edge Gateway:
YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH - Token para el portal HTML5:
ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF - URL para acceder al servicio HTML5:
HTML5_DOCKER
- Dirección IP de la red:
- Servidor de acoplamiento
- Nombre de la red de acoplamiento:
cyberelements-cleanroom-network - Edge Gateway
- Nombre:
my-edge-gateway-docker - Ubicación de la raíz en el sistema de archivos:
/opt/my-edge-gateway-docker
- Nombre:
- Puerta de acceso HTML5
- Nombre:
my-html5-gateway-docker - Ubicación de la raíz en el sistema de archivos:
/opt/my-html5-gateway-docker
- Nombre:
- Nombre de la red de acoplamiento:
En primer lugar, en el servidor Docker, es necesario crear la estructura de árbol para montar los volúmenes de Docker:
1 2 3 4 5 6 | |
Entonces crea un bridge tipo de red de acoplamiento para que los dos contenedores puedan comunicarse entre sí:
1 | |
A continuación, inicie el contenedor Edge Gateway. Tenga en cuenta que el ejemplo establece una conexión mediante emparejamiento, con acceso al Mediation Controller a través de su dirección IP y sin verificación de certificado añadida. Además, se agrega el parámetro --network para especificar el uso de la red Docker creada previamente:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
A continuación, inicie el contenedor HTML5 Gateway. Tenga en cuenta que el ejemplo establece una conexión mediante emparejamiento, con acceso al Mediation Controller a través de su dirección IP y sin verificación de certificado añadida. Además, se agrega el parámetro --network para especificar el uso de la red Docker creada previamente, y dado que el acceso al servicio HTML5 pasará a través de la red Docker, no es necesario publicar el puerto 8080:
1 2 3 4 5 6 7 8 | |
Finalmente, el archivo /etc/ipdiva/httpd/commonParameters.extra.conf en el servidor Mediation Controller (s) debe ser configurado.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Antes de aplicar las nuevas configuraciones, debe comprobar que la nueva configuración no causa ningún error de bloqueo para el servidor web Apache2.
Para ello, ejecute el siguiente comando:
1 | |
Si el resultado es Syntax OK, entonces los cambios se pueden aplicar con el siguiente comando. De lo contrario, compruebe la configuración de su archivo /etc/ipdiva/httpd/commonParameters.extra.conf.
1 | |