Pre sprístupnenie hodnôt EDA vektorov je potrebné nakonfigurovať aj pripojenie na EDA Server. K dispozícií sú naslednovné konfiguračné možnosti v smartweb.json konfigurácii.
Poznámka |
---|
Pozor: Pre úspešné prepojenie SmartWeb Servera s EDA Serverom je nevyhnutné, aby verzia SmartWeb platformy korešpondovala k verzii EDA Servera. |
...
Reverzné prepojenie s EDA Serverom
Reverzné spojenie je možné konfigurovať nasledovne. Atribúty certificatePath a certificatePassword sa vypĺňajú len v prípade potreby šifrovania spojenia.
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.p12", // nepovinna cesta k SSL certifikátu pre prípad šifrovaného pripojenia "certificatePassword": "abc123" // heslo k SSL certifikátu } ] } } |
EDA Server nevie priamo nadviazať reverzné spojenie na port vystavený port (konfigurácia vyššieSmartWeb 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:
Blok kódu | ||
---|---|---|
| ||
#!/bin/bash
while sleep 1; do
socat -d -d TCP:edaserver.com:3121,forever TCP:172.16.1.179:3130,forever
done |
Utilita socat ukončí svoju činnosť akonahle sa jeden z portov uzavrie. Ideálne je preto jej spustenie riešit v linuxovej deamon službe s autoštartom, v tomto prípade je možné slučku while-do-done v uvedenom skripte vypustiť.
Šifrované reverzné spojenie
Pre šifrovanú komunikaciu medzi socat utilitou a SmartWeb serverom je potrebné vygenerovať nový SSL certifikát a nakofigurovať ho ako pre sockat tak pre smartweb.json konfiguráciu.
Na vygenerovanie SSL certifikátu je ideálne použiť utilitu keytool:
Blok kódu | ||
---|---|---|
| ||
keytool -genkeypair -alias server -keyalg EC -sigalg SHA384withECDSA -keysize 256 -keystore servercert.p12 -storetype pkcs12 -v -storepass abc123 -validity 10000 -ext san=ip:172.16.1.179 |