NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Frage] [V4.0 IP1] Reverse Proxy Konfig für NodeRed WebSocket

Alles rund um Node Red im Allgemeinen und den entsprechenden Docker-Container für den Timberwolf Server im Speziellen.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
Marinux
Reactions:
Beiträge: 125
Registriert: Fr Apr 12, 2019 3:04 pm
Hat sich bedankt: 9 Mal
Danksagung erhalten: 51 Mal

[V4.0 IP1] Reverse Proxy Konfig für NodeRed WebSocket

#1

Beitrag von Marinux »

Hallo,

ich kämpfe mit der Einstellung für WebSocket Unterstützung wenn ich den ReverseProxy für NodeRed nutzen möchte.

Dabei versuche ich den Dashboard Websocket für NodeRed der unter dem Pfad ws://Dashboard-IP:1880/ui/socket.io/ erreichbar ist über den Reverse Proxy einzubinden. Allerdings scheint "socket.io" nicht akzeptiert zu werden bei der Eingabe in die betreffenden zwei Input-Felder. Die Fehlermeldung, wie im Bild auch zu sehen, lautet: "Speichern nicht möglich. Alias für websocket invalid" Ich vermute es liegt am Punkt. Kann das jemand bestätigen oder mache ich bei der Einbindung was falsch?

Bild

Wenn ich WebSocket Reverse Proxying aktiviere ohne was in die Inputfelder zu hinterlegen, dann führt das leider auch nicht zum Erfolg.


Generell wird in allen Szenarien ein HTTP 400 Fehler erzeugt wenn das Dashboard eine Verbindung versucht zum WebSocket aufzumachen.
Zuletzt geändert von Marinux am Mo Jan 29, 2024 2:48 pm, insgesamt 1-mal geändert.
Gruß Markus

TWS 960Q #360, VPN geschlossen, Reboot verboten
Benutzeravatar

Chris M.
Reactions:
Beiträge: 1194
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 237 Mal
Danksagung erhalten: 857 Mal
Kontaktdaten:

#2

Beitrag von Chris M. »

Ich hab mein NodeRED als Netzwerk "host" am laufen.
Bild

Und der Reverse Proxy sieht dann so aus:
Bild

Auf andere Art hab ich NodeRED nicht zum laufen bekommen. Und so läuft es nun schon seit langem und sehr stabil.
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache

gbglace
Reactions:
Beiträge: 3615
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1273 Mal
Danksagung erhalten: 1674 Mal

#3

Beitrag von gbglace »

Ich habe das mit den ganzen Proxy noch nie verstanden.

Mein NR Container läuft hier als MAC-VLAN und bisher funktioniert alles was ich damit anstellen wollte.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension
Benutzeravatar

Eraser
Reactions:
Beiträge: 650
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 209 Mal
Danksagung erhalten: 275 Mal

#4

Beitrag von Eraser »

Ich auch nicht :lol:
Mein NR-Container läuft sogar ohne Mac-VLAN :roll:

Kann jemand erklären, wo die Vorteile darin liegen zwischen den Varianten?
-) Ohne Mac-VLAN
-) Mit Mac-VLAN
-) Proxy

Danke
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938

Ersteller
Marinux
Reactions:
Beiträge: 125
Registriert: Fr Apr 12, 2019 3:04 pm
Hat sich bedankt: 9 Mal
Danksagung erhalten: 51 Mal

#5

Beitrag von Marinux »

@Chris M., dann hast du vermutlich keine WebSocket Unterstützung und das NodeRed fällt auf ein Polling des Servers zurück. Das ist sehr ineffizient. Du kannst das z.B. in den Developer Tools deines Browser sehen, dass in sehr kurzen Abständen Anfragen an den NodeRed Server gestellt werden. Wenn du das vergleichst mit dem Aufruf des Dashboards ohne Proxy, dann siehst du das nicht. Stattdessen öffnet sich am Anfang eine WebSocket Verbindung, die dann genutzt wird bidirektional Daten zu übertragen.

@gbglace, auch ich nutze MacVLAN, das ist für meine Frage aber m.E. irrelevant.

@gbglace @Eraser , der Vorteil des Reverse Proxies ist, dass NodeRed über HTTPS erreicht werden kann was sonst nicht der Fall ist. Ich binde z.B. TWS Grafana Dashboards in mein NodeRed Dashboard ein. Das führt dann in vielen Browser/Geräte Konstellationen zu Problemen, weil damit HTTP und HTTPS Inhalte vermengt werden.
Gruß Markus

TWS 960Q #360, VPN geschlossen, Reboot verboten
Benutzeravatar

Eraser
Reactions:
Beiträge: 650
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 209 Mal
Danksagung erhalten: 275 Mal

#6

Beitrag von Eraser »

Und Mac-VLAN mit einer dedizierten IP für NR wird benötigt für den ReverseProxy wahrscheinlich oder?
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938

StefanW
Elaborated Networks
Reactions:
Beiträge: 9775
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7820 Mal
Kontaktdaten:

#7

Beitrag von StefanW »

Hi Wolfgang,

nein. Das sind zwei verschiedene paar Stiefel.

Stell Dir einen Reverse-Proxy als jemanden vor, der für Dich surft, also alle Deine Klicks, die Du dem Proxy schickst, erkennst, der dann einen Browser bei sich aufmacht und nochmal klickt und das Ergebnis das er erhält, dann als "Screenshot" an Dich zurück schickt.

Ein Reverse Proxy surft für Dich. Er ist Webserver und "Browser" in einem. Dem eigentlich angesprochenen Server, z.B. Node Red erscheint es, als würde der proxy des TWS bei ihm surfen (also von der IP her). Deinem Browser erscheint es so, als würde er nur mit dem Proxy sprechen (von der IP her). Der Proxy übersetzt transparent zwischen beiden hin und her.

Der Vorteil besteht darin, dass der Proxy hierbei eine TLS-Verbindung zur Deinem Browser aufbaut (während die Verbindung des Proxys zum eigentlichen Server unverschlüsselt sein kann) und eine mögliche Impersonation (also Anmeldung, das nutzen wir bei Grafana, da wirst automatisch angemeldet vom Proxy) und dafür, dass damit IPs genutzt werden können, die ansonsten nicht aufrufbar sind.

Wenn nun eine Anwendung im Docker Container mit den üblichen privaten Adressen von Docker laufen, dann gibt es von außen nicht unbedingt ein Routing drauf und Du kommst von außen nicht drauf. Mit dem Proxy ist das kein Problem, weil der Proxy wird über die IP des TWS angesprochen und intern kennt der TWS den Weg zur IP der Docker Adressen.

Alternativ kann man MacVLAN machen, dann kann man der Anwendung im Docker Container eine Adresse aus dem lokalen Netz geben, die dann auch gefunden wird. Aber ist eben ein anderes paar Stiefel als der Proxy. Beides zusammen sollte auch gehen.

Das ist jetzt keine vollständige Abhandlung, weil nicht in allen Fällen geht Proxy (die URLs müssen einen übersetzbaren Aufbau haben) und MacVLAN setzt schon ein gewisses Verständnis von Netzen vorraus.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Benutzeravatar

Eraser
Reactions:
Beiträge: 650
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 209 Mal
Danksagung erhalten: 275 Mal

#8

Beitrag von Eraser »

Danke für die Erklärung Stefan.

Was ich jetzt noch nicht verstehe ist, welchen Vorteil es hat über eine separate IP (bei MacVLAN) oder/und über einen Proxy auf die Weboberfläche von NR zuzugreifen, wenn man angenommenerweise so wie bei mir ich mit dem PC sowieso im gleichen privaten Netz wie der TW schon bin.
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938

MrWilson
Reactions:
Beiträge: 232
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 146 Mal

#9

Beitrag von MrWilson »

Leute,

ich möchte wirklich nicht stänkern, auch ich interessiere mich für das Thema, aber die Ausführungen haben eigentlich nichts mit der Fragestellung zu tun und sollten abgetrennt werden.
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache

StefanW
Elaborated Networks
Reactions:
Beiträge: 9775
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7820 Mal
Kontaktdaten:

#10

Beitrag von StefanW »

Wolfgang,

geh doch bitte mal auf die Seite mit dem Reverse Proxy des Timberwolf Servers und klicke dort auf das blaue i. Da sind die vier Zugriffsverfahren auf Docker Ressourcen erklärt.

Der Text hat mich mal einen Tag gekostet.

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Antworten

Zurück zu „Docker Container: Node Red“