Installazione del Docker di Gateway HTML5¶
Importazione dell'immagine Docker¶
Prima di creare un contenitore Docker di HTML5 Gateway, è necessario importare l'immagine Docker. Per fare questo, lanciare una shell dalla quale sono disponibili i comandi Docker, così come il file cleanroom-html5-4.6.1-33-v2.tgz. Dal shell, eseguire il seguente comando, regolando il percorso del file TGZ se non è nella directory corrente:
1 | |
Verifica che l' importazione sia stata eseguita con successo con il seguente comando:
1 | |
La produzione prevista è la seguente: se non è così, l'importazione è fallita:
1 2 3 4 5 6 | |
Tutto il prodotto
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 | |
Configurazione del contenitore¶
Variabili ambientali¶
Variabili per l'implementazione tramite accoppiamento¶
| Nome | Obbligatorio | Valore predefinito | Commento |
|---|---|---|---|
ENV_MEDIATION |
SI | Utilizzato per la connessione di accoppiamento. Indica il nome DNS o l'indirizzo IP per la connessione all'interfaccia web di una piattaforma ** cyber**elements Cleanroom. |
|
ENV_TOKEN |
SI | Utilizzato per la connessione di accoppiamento. Indicazione del token di accoppiamento da utilizzare per la connessione al Mediation Controller. |
|
ENV_NO_CHECK_CERT |
NO | false |
Utilizzato per l'accoppiamento delle connessioni. Se disabilitare o meno Mediation Controller il controllo dei certificati web, utile con ** cyber** elementi Cleanroom quando si accede tramite indirizzo IP o quando il certificato web non è un certificato riconosciuto dalle autorità di certificazione pubbliche predefinite. Valori accettati: true o false. |
Variabili per l'implementazione manuale¶
| Nome | Obbligatorio | Valore predefinito | Commento |
|---|---|---|---|
ENV_GW_CERT_NAME |
SI | Utilizzato per la connessione con la configurazione manuale. Nome del file del certificato per la connessione al router SSL. |
|
ENV_GW_CERT_PASSWORD |
SI | Utilizzato per la connessione con configurazione manuale. Password del file certificato per la connessione al router SSL. |
|
ENV_SSL_ROUTER_IP |
SI | Utilizzato per la connessione con la configurazione manuale. Indirizzo IP o nome DNS del router SSL a cui si connetterà il Gateway HTML5. |
|
ENV_SSL_ROUTER_PORT |
NO | 443 |
Utilizzato per la connessione con la configurazione manuale. Porta del router SSL a cui si connetterà il gateway HTML5. |
Vari variabili¶
| Nome | Obbligatorio | Valore predefinito | Commento |
|---|---|---|---|
ENV_DISABLE_RSYSLOG |
NO | false |
Disattivazione del servizio rsyslogValori accettati: true o false |
Volumi¶
| Volume | Commento |
|---|---|
/etc/ipdiva/ |
Volume di configurazione del gateway HTML5. Si consiglia di montarlo su un volume nominato o sul file system della macchina host. |
/opt/certificates/ |
Volume contenente il certificato di Gateway HTML5 (s) quando viene configurato senza abbinamento. |
/var/log/ |
Volume contenente i log del gateway HTML5. |
Porti¶
| Porto | Commento |
|---|---|
8080 |
Porta di ascolto del servizio HTML5 |
Distribuzione del Docker Gateway HTML5¶
Distribuzione con accoppiamento¶
Prerequisiti
Prima di distribuire il Docker Gateway HTML5, è necessario ottenere un token di accoppiamento.
La distribuzione descritta di seguito utilizzerà tutti i volumi disponibili (ad eccezione di /opt/certificates/ che non è utile in questo contesto) ed esporrà tutte le porte.
I volumi saranno montati sul file system della macchina host con la posizione HTML5_GATEWAY_REP. All'interno di questa posizione ci sono le seguenti sottodirectory:
- config
- log
Puoi personalizzare le variabili per i seguenti comandi:
| Valore personalizzato | Variabile | Commento |
|---|---|---|
DOCKER_NAME |
Nome del contenitore Docker. | |
HTML5_GATEWAY_REP |
Localizzazione nel file system per montare i volumi. | |
ENV_MEDIATION_VALUE |
Valore della ENV_MEDIATION variabile ambientale |
|
ENV_TOKEN_VALUE |
Valore della ENV_TOKEN variabile ambientale |
|
ENV_NO_CHECK_CERT_VALUE |
Valore della ENV_NO_CHECK_CERT variabile ambientale |
Creare l' albero di directory necessario per il montaggio dei volumi sul file system:
1 2 | |
E infine, iniziare un nuovo contenitore:
1 2 3 4 5 6 7 8 | |
I registri dei contenitori possono essere visualizzati utilizzando il seguente comando:
1 | |
Impostazione manuale¶
Prerequisiti
Prima di distribuire il Docker del Gateway HTML5, è necessario disporre del certificato richiesto per il Gateway HTML5.
L'impiego descritto di seguito utilizzerà tutti i volumi disponibili ed esporrà tutti i porti.
I volumi saranno montati sul file system della macchina host con la posizione MANUAL_REP. All'interno di questa posizione ci sono le seguenti sottodirectory:
- config
- log
- certificati
Puoi personalizzare le variabili per i seguenti comandi:
| Valore personalizzato | Variabile | Commento |
|---|---|---|
MANUAL_NAME |
Nome del contenitore Docker. | |
MANUAL_REP |
Localizzazione nel file system per montare i volumi. | |
ENV_GW_CERT_NAME_VALUE |
Valore della ENV_GW_CERT_NAME variabile ambientale |
|
ENV_GW_CERT_PASSWORD_VALUE |
Valore della ENV_GW_CERT_PASSWORD variabile ambientale |
|
ENV_SSL_ROUTER_IP_VALUE |
Valore della ENV_SSL_ROUTER_IP variabile ambientale |
|
ENV_SSL_ROUTER_PORT_VALUE |
Valore della ENV_SSL_ROUTER_PORT variabile ambientale |
Creare l' albero di directory necessario per il montaggio dei volumi sul file system:
1 2 3 | |
Poi inserire i certificati per il gateway HTML5 e il servizio di registrazione in MANUAL_REP/certificates.
Infine, avviare un nuovo contenitore:
1 2 3 4 5 6 7 8 9 10 | |
I registri dei contenitori possono essere visualizzati utilizzando il seguente comando:
1 | |
Configurazione del Mediation Controller¶
Per far funzionare il nuovo HTML5 Gateway Docker, il server Mediation Controller deve essere ancora configurato tramite SSH o con accesso console e con autorizzazioni root.
Questa ultima impostazione è necessaria per consentire al Mediation Controller di comunicare con il servizio HTML5.
Tuttavia, questa configurazione varia a seconda della posizione del Docker del Gateway HTML5:
Il diagramma generale è il seguente:
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;
In questo contesto, sarà necessario aggiungere le informazioni riportate di seguito al file /etc/ipdiva/httpd/commonParameters.extra.conf o crearlo.
È possibile personalizzare le impostazioni:
| Valore personalizzato | Variabile | Commento |
|---|---|---|
HTML5_URL_DMZ |
URL configurato quando si dichiara il gateway HTML5 nella console di amministrazione. | |
HTML5_IP_DMZ |
Nome DNS o indirizzo IP del server Docker su cui è attivo il Docker Gateway HTML5 | |
HTML5_PORT_DMZ |
Porta pubblicata dal server Docker per il Docker Gateway HTML5. |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Il diagramma generale è il seguente:
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;
In questo contesto, sarà necessario aggiungere le informazioni riportate di seguito al file /etc/ipdiva/httpd/commonParameters.extra.conf o crearlo.
È possibile personalizzare le impostazioni:
| Valore personalizzato | Variabile | Commento |
|---|---|---|
HTML5_URL_LAN |
URL configurato quando si dichiara il gateway HTML5 nella console di amministrazione. | |
GW_NAME_LAN |
Nome del Edge Gateway utilizzato per connettersi al servizio HTML5. Il carattere pipe alla fine della riga ** deve essere mantenuto **. | |
ORGANIZATION_NAME_LAN |
Nome dell'organizzazione a cui Edge Gateway si collega. | |
HTML5_IP_LAN |
Nome DNS o indirizzo IP del server Docker su cui è attivo il Docker Gateway HTML5 | |
HTML5_PORT_LAN |
Porta pubblicata dal server Docker per il Docker Gateway HTML5. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Tip
Questa configurazione può anche essere utilizzata nella seguente situazione in cui un Docker Edge Gateway e un Docker HTML5 Gateway sono in esecuzione nella stessa rete 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;
Esempio
In questo esempio, impiegheremo un Edge Gateway e un gateway HTML5 sullo stesso server Docker.
L'infrastruttura utilizzata per l'esempio è la seguente:
- Server Mediation Controller
- indirizzo IP del sito web:
10.0.10.10 - Nome dell'organizzazione:
my-organization-name - Token per Edge Gateway:
YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH - Token per HTML5 Gateway:
ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF - URL per accedere al servizio HTML5:
HTML5_DOCKER
- indirizzo IP del sito web:
- Server di Docker
- Nome della rete di docker:
cyberelements-cleanroom-network - Edge Gateway
- Nome:
my-edge-gateway-docker - Posizione della radice nel file system:
/opt/my-edge-gateway-docker
- Nome:
- Gateway HTML5
- Nome:
my-html5-gateway-docker - Posizione della radice nel file system:
/opt/my-html5-gateway-docker
- Nome:
- Nome della rete di docker:
Prima, sul server Docker, è necessario creare la struttura a albero per il montaggio dei volumi Docker:
1 2 3 4 5 6 | |
Quindi creare una rete Docker di tipo bridge in modo che i due contenitori possano comunicare tra loro:
1 | |
Inseguito, avviare il contenitore Edge Gateway. Si noti che l'esempio stabilisce una connessione mediante accoppiamento, con accesso al Mediation Controller tramite il suo indirizzo IP e senza aggiungere alcun controllo del certificato. Inoltre, viene aggiunto il parametro --network per specificare l'uso della rete Docker creata in precedenza:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Inseguito, avviare il contenitore HTML5 Gateway. Si noti che l'esempio stabilisce una connessione mediante accoppiamento, con accesso al Mediation Controller tramite il suo indirizzo IP e senza aggiungere alcun controllo del certificato. Inoltre, il parametro --network viene aggiunto per specificare l'uso della rete Docker creata in precedenza e poiché l'accesso al servizio HTML5 passerà attraverso la rete Docker, la pubblicazione della porta 8080 non è necessaria:
1 2 3 4 5 6 7 8 | |
Infine, il /etc/ipdiva/httpd/commonParameters.extra.conf Il documento Mediation Controller Il server deve essere configurato.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Prima di applicare le nuove impostazioni, è necessario verificare che la nuova configurazione non causi errori di blocco per il server web Apache2.
Per fare questo, eseguire il seguente comando:
1 | |
Se il ritorno è Syntax OK, le modifiche possono essere applicate con il comando qui sotto. Altrimenti, controlla la configurazione del tuo file /etc/ipdiva/httpd/commonParameters.extra.conf.
1 | |