Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

« Predchádzajúce Verzia 3 Ďalej »

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.

Pozor: Pre úspešné prepojenie SmartWeb Servera s EDA Serverom je nevyhnutné, aby verzia SmartWeb platformy korešpondovala k verzii EDA Servera.

Priame pripojenie na EDA Server

{
    /* pole objektov s konfiguráciami priamych konekcií na EDA Server */ 
	"edaConnection": { 
	    "connectionMode": "DIRECT",
		"connections": [
      		{
        		"host": "edaserver.com", // DNS alebo IP adresa
		        "port": 3130,
        		"watchdogFrequencySeconds": 30 // perióda v sekundách pre pingovanie spojenia kvoli zamedzeniu ukončenia TCP spojenia sieťovými prvkami
      		},
			{
        		"host": "edaserver2.com",
		        "port": 3130,
        		"watchdogFrequencySeconds": 30 
      		}
      		...
    	]   
	}   
}

Object edaConnection v konfiguračnom súbore smartweb.json v móde  DIRECT obsahuje pole redundantných pripojení EDA Servery definované atribútmi host a port. Toto spojenie nie je šifrované. Požiadavky na EDA Server sú rozdelované medzi pripojenia systémom systémom round-robin. SmartWeb automaticky manažuje pripojenia na EDA serveri a v prípade výpadku sa s minútovým timeoutom snaží opať nadviazať spojenie.

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.

{
    /* 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ý 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:

#!/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 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).

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.

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á:

#!/bin/bash
while sleep 1; do  
	socat -d -d TCP:edaserver.com:3121,forever openssl-connect:172.16.1.179:3130,openssl-commonname=172.16.1.179,cafile=/mnt/d/server.crt,forever 
done
  • Žiadne štítky