...
Blok kódu | ||
---|---|---|
| ||
{ /* objekt s konfiguráciou reverznej konekcie kvôli DMZ prepojený cez utilitu socat ( EDA Server <- socat -> SmartWeb) */ "edaConnection": { "connectionMode": "REVERSE", "connections": [ { "host": "172.16.1.179", // binding interface, na ktorom sa otvorí port 3130 pre reverzné spojenie "port": 3130, "watchdogFrequencySeconds": 30, "certificatePath": "D:\\server.p12crt", // nepovinna cesta k verejnej časti SSL certifikátu pre prípad šifrovaného pripojenia s "certificatePassword": "abc123" // heslo k SSL certifikátu EDA serverom } ] } } |
EDA Server nevie priamo nadviazať reverzné spojenie na port vystavený SmartWeb aplikaciou (JEDA knižnicou). Kvôli tomuto dôvodu sa využíva Linuxová utilita socat ktorá vie komunikačne prepojiť dva sockety (EDA Servera a JEDA) nasledujúcou konfiguráciou:. S nasledujúcou konfiguráciou cez linuxovú daemon službu (systemctl) je možné mať utilitu socat vždy spustenú, pretože utilita socat ukončí svoju činnosť akonáhle sa jeden z portov uzavrie.
Blok kódu | ||||
---|---|---|---|---|
| ||||
ExecStart=/usr#!/bin/bash while sleep 1; do socat -d -d TCP:edaserver.comlocalhost:3121,forever,keepalive TCP:172smartweb.16server.1.179sk:31303300,forever done |
...
,keepalive
Restart=always
RestartSec=2 |
Šifrované reverzné spojenie
Pre šifrovanú komunikaciu medzi socat utilitou Eda serverom a SmartWeb serverom je potrebné vygenerovať nový SSL certifikát použiť verejnú časť SSL certifikátu vygenerovaného pre D2000 server a nakofigurovať ho ako pre sockat tak pre v smartweb.json konfiguráciukonfigurácii.
Na vygenerovanie selfsigned SSL certifikátu je ideálne použiť utilitu keytool nasledovne (nezabudnúť zadať správnu IP adresu Smart Web servera na konci príkazu).
Blok kódu | ||
---|---|---|
| ||
keytool -genkeypair -alias server -keyalg EC -sigalg SHA384withECDSA -keysize 256 -keystore server.p12 -storetype pkcs12 -v -storepass abc123 -validity 10000 -ext san=ip:172.16.1.179 |
Prikaz si vypýta základne parametre SSL certifikátu, pre CN meno treba tiež zadať IP adresu Smart Web servera. Po vygenerovaní SSL kľuča a verejnej časti do súboru server.p12 je potrebné ešte nasledujúcim príkazom vytvoriť súbor iba s verejnou časťou SSL certifikátu server.crt.
Blok kódu | ||
---|---|---|
| ||
keytool -genkeypair -alias server -keyalg EC -sigalg SHA384withECDSA -keysize 256 -keystore server.p12 -storetype pkcs12 -v -storepass abc123 -validity 10000 -ext san=ip:172.16.1.179 |
Konfigurácia spustenia socat utility bude potom nasledovná:
...
language | bash |
---|
...
strane Smart Webu treba správne vyplniť atribúty certificatePath v smartweb.json (formát konfigurácie je popísaný vyššie).