Problem mit NodeRed/Portweiterleitung und Websockets

Diskussionen zur Bedienung von KeyHelp.
Post Reply
reichs
Posts: 7
Joined: Sun 17. Jan 2021, 11:35

Problem mit NodeRed/Portweiterleitung und Websockets

Post by reichs »

Hallo,
ich habe auf meiner Server Node-Red laufen, um bestimmte Daten von MQTT in eine Datenbank zu speichern. Dazu habe ich eine subdomain nodered.meinedomain.de eingerichtet und eine Portweiterleitung über die Apache-Einstellungen eingerichtet. Der Zugriff auf Node-Red erfolgt über Port 1880.
Wenn ich nun über https://nodered.meinedomain.de auf Node-Red zugreife, habe ich irgendwelche Probleme mit Websockets, sodass ich NodeRed zwar prinzipiell nutzen kann, aber immer eine Meldung kommt, dass der kontakt zum Server verloren wurde und ich z.B. kein Debugging nutzen kann. Hier scheint das Problem zu sein, dass Websockets nicht funktionieren.

Wenn ich direkt über meine IP und den port zugreife: "xxx.xxx.xxx.xxx:1880" und den Port in der Firewall freigebe, dann funktioniert es ohne Probleme.

In den Apache-Einstellungen habe ich folgendes eingestellt:

Code: Select all

<IfModule mod_proxy.c>
        ProxyPass /.well-known/acme-challenge !
</IfModule>

Alias /.well-known/acme-challenge /home/keyhelp/www/.well-known/acme-challenge

ProxyPreserveHost On
ProxyPass / http://127.0.0.1:1880/
ProxyPassReverse / http://127.0.0.1:1880/
Wo kann denn hier der Fehler liegen? Würde mich über Anregungen freuen - ich finde leider aktuell keine Möglichkeit, nehme aber an, dass es irgendwo an der Portweiterleitung liegt.

VG Stefan
User avatar
Florian
Keyweb AG
Posts: 1682
Joined: Wed 20. Jan 2016, 02:28

Re: Problem mit NodeRed/Portweiterleitung und Websockets

Post by Florian »

Hallo,

ja vielleicht fehlen ja einfach noch ein paar Anweisungen für Websockets.


Das sollte man aber in der Doku der Software finden können.

Hier wäre ein Beispiel:

https://gist.github.com/gmag11/765af368 ... 2614a7b24f
Mit freundlichen Grüßen / Best regards
Florian Cheno

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
reichs
Posts: 7
Joined: Sun 17. Jan 2021, 11:35

Re: Problem mit NodeRed/Portweiterleitung und Websockets

Post by reichs »

Hallo,
danke für den Tipp. Folgende Apache-Einstellungen haben bei mir letztenendes geholfen:

Code: Select all

<IfModule mod_proxy.c>
    ProxyPass /.well-known/acme-challenge !
</IfModule>

Alias /.well-known/acme-challenge /home/keyhelp/www/.well-known/acme-challenge

ProxyPreserveHost On

# HTTP/HTTPS-Anfragen an Node-RED weiterleiten
ProxyPass / http://127.0.0.1:1880/
ProxyPassReverse / http://127.0.0.1:1880/

# WebSocket-Header nur für WebSockets setzen
<IfModule mod_headers.c>
<Location /comms>
                                RewriteEngine on
                                RewriteCond %{HTTP:Upgrade} ^WebSocket$ [NC]
                                RewriteCond %{HTTP:Connection} Upgrade$ [NC]
                                RewriteRule .*/(.*) "ws://localhost:1880/$1" [P,L]
</Location>
</IfModule>
Post Reply