NGINX-Beispiel
NGINX bietet Proxy-Funktionen und Web-Server-Optionen. Im folgenden Beispiel wird nur der Lastenausgleich eingerichtet. Einige Funktionen wie Sticky Sessions sind in der kostenlosen Version nicht verfügbar und erfordern ein Upgrade auf NGINX Plus.
Frontend-Einstellungen
Für die Frontend-Einstellungen für NGINX konfigurieren Sie Server, die die Port- und Routing-Regeln enthalten.
listen
Entspricht HAProxy bind, dem externen Port, mit dem die Anwendung kommuniziert.
location
Routing-Regeln, basierend auf path genau wie in HAProxy.
Der gesamte Datenverkehr wird standardmäßig an /location weitergeleitet und an die Upstream-Gruppe thingworx übergeben.
Die Standortübereinstimmung für den Connection Server verwendet einen regulären Ausdruck, anstatt jeden Pfad aufzulisten. Dies wird an die Upstream-Gruppe cxserver übergeben.
Beispiel:
server {
listen 80;
# connection server paths
location ~ ^/Thingworx/(WS|WSTunnelClient|WSTunnelServer|TWS)\.* {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://cxserver;
}
# everything else to thingworx
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://thingworx;
}
}
Plattform-Backend-Einstellungen
Dieser Bereich enthält die Liste der Server, die Anforderungen und den Lastenausgleichsalgorithmus verarbeiten können.
ip_hash
Behält die Anfrage für einen Server basierend auf der IP-Adresse bei. Sticky Sessions sind eine Funktion in NGINX Plus.
server
Es gibt Einträge für jeden Server in der Liste.
Es sind keine Integritätsprüfungen konfiguriert, aber wenn ein Server fehlschlägt, wird der Datenverkehr umgeleitet. Integritätsprüfungen sind eine Funktion von NGINX Plus.
Beispiel:
upstream thingworx {
ip_hash;
server platform1:80;
server platform2:80;
}
Backend-Einstellungen für Connection Server
ip_hash
Behält die Anfrage für einen Server basierend auf der IP-Adresse bei. Dies entspricht source in HAProxy.
Server
Es gibt Einträge für jeden Server in der Liste.
Es sind keine Integritätsprüfungen konfiguriert, aber wenn ein Server fehlschlägt, wird der Datenverkehr umgeleitet. Integritätsprüfungen sind eine Funktion von NGINX Plus.
Beispiel:
upstream cxserver {
ip_hash;
server cxserver1:80;
server cxserver2:80;
}
Vollständiges Beispiel
worker_processes 5; ## Default: 1
events {
}
http {
resolver 127.0.0.11:53 valid=30s;
upstream thingworx {
ip_hash;
server platform1:80;
server platform2:80;
}
upstream cxserver {
ip_hash;
server cxserver1:80;
server cxserver2:80;
}
server {
listen 80;
# connection server paths
location ~ ^/Thingworx/(WS|WSTunnelClient|WSTunnelServer|TWS)\.* {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://cxserver;
}
# everything else to thingworx
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://thingworx;
}
}
}
War dies hilfreich?