Upgrade 5.0 --> 5.1 Webfront Probleme mit Reverse Proxy

Ich vermute du willst zwei regeln machen. Die eine mit HTTP scheint ja zu gehen und dann die zweite für WS, welche dann in der URL dein /home noch drin hat.

paresy

Bei mir übernimmt ein Apache2 den Reverse Proxy. Ich musste auch die Konfiguration für die WebSockets erweitern:


<VirtualHost *:443>
...
  RewriteEngine On
  RewriteCond %{HTTP:Upgrade} =websocket [NC]
  RewriteRule /(.*) ws://localhost:3777/$1 [P,L]

  ProxyPass / http://127.0.0.1:3777/
  ProxyPassReverse / http://127.0.0.1:3777/
...
</VirtualHost>

Es scheint wirklich an der URL zu liegen
Statt „wss://home.meineadresse.de/home/api/wfc/16855“ ruft Symcon „wss://home.meineadresse.de/api/wfc/16855“ auf.
Als „quick&dirty“ Lösung habe ich mal in der webfront.js folgende Zeile hinzugefügt.(bei Zeile 3027 vor var u=new WebSocket(a,b))
a = a.replace(„meineadresse.de/api/“, „meineadresse.de/home/api/“)

Und schon geht es…
Aber das kann ja keine Dauerlösung sein.

Hilft das um herauszufinden was beim IIS noch eingestellt werden muss?

Gruß
Erik

Hi, Ich hänge nun auch fest seit dem Umstieg auf 5.1

Ich kann von außen nicht mehr auf das Webfront drauf. Wenn ich auf den Link der auf ipmagic verweist klicke, geb ich mein Kennwort ein und dann muss ich es immer wieder eingeben. Muss dazu sagen das ich keine Ahnung von Proxy oder sonst was hab. Ging ja vorher auch alles. Woran kann das noch liegen?

Du nutzt also den normalen Connect Dienst? Hat dein Kennwort irgendwelche Sonderzeichen? Kannst du mal probieren ein einfaches Kennwort zu setzen?

paresy

Kann es sein das Symcon doch nicht ganz unschuldig ist?

Hat jemand einen Reverse Proxy mit 5.1 laufen bei dem ein Unterverzeichnis benutzt wird?
d.h. Zugriff von außen z.B. meineadresse.de/symcon/ statt meineadresse.de/

Auf jeden Fall baut Symcon in der webfront.js die URL vom WebSocket falsch zusammen.
Fragt sich nur warum…
Mein Webfront ist von außen über https://home.meineadresse.de/home/#16855" erreichbar
Statt „wss://home.meineadresse.de/home/api/wfc/16855“ ruft Symcon „wss://home.meineadresse.de/api/wfc/16855“ auf.

@paresy
Wie ermittelt Symcon die URL für den WebSocket?

Gruß
Erik

Das wird so sein, aber warum machst du das?
Ich habe für jeden Dienst eine eigene Subdomain. Somit flutscht das perfekt.
Michael

Ich habe zum nächsten Update mal etwas mehr Logik eingebaut, sodass wir den Pfad mit einbeziehen bei der Berechnung der WebSocket URL. Du kannst ja berichten ob es hilft. Es sollte dann Log der Entwicklerkonsole vom Browser auch eine passende Ausgabe geben.

paresy

Geht leider immer noch nicht.

webfront.js:1120 Rewriting URL with path segment: /home/
webfront.js:3027 WebSocket connection to 'wss://home.meineadresse.de/api/wfc/16855' failed: Error during WebSocket handshake: Unexpected response code: 404

Es erscheint etwas mit „path segment“, berücksichtigt für die URL wir es aber nicht.

Erik

Vielen Dank für dein Feedback. Ich habe noch einen kleinen Fehler gefunden. Zum nächsten Update sollte der erkannte Pfad dann auch sauber genutzt werden.

paresy

Der Fix ist leider nicht im aktuellen Update mit dabei - kommt aber zum nächsten Beta-Update.

paresy

Mit der neusten Beta funktioniert es.
Vielen Dank für den Fix.

Ich benutze den Reverse Proxy der Synology, da steckt squid dahinter, hat auch jemand die Anpassungen für den Squid parat?

Da häng ich mich jetzt auch mit dran, squid auf pfsense. Ich bin nicht komplett doof aber das geht nun etwas zu weit. Alle anderen Web Interfaces hinter dem reverse Proxy funktionieren und sogar IPS KONSOLE geht noch, nur das webfront nicht.
Versteh die Logik nicht dass man nach einem IPS Upgrade an zeuchs herumschrauben soll was bis dahin problemlos geklappt hat.
Neues tablet ist auch fällig, kommt jetzt eine Meldung braucht IOS 10 (intern). So n kaas.

Edit, war noch nie ein Fan vom Connect Dienst aber der zeigt das gleiche Fehlerbild. Will ein Passwort aber das was gesetzt ist geht nicht.

Gesendet von meinem SM-G975F mit Tapatalk

Die Welt und die Technik schreitet voran. :stuck_out_tongue:

Das WebFront nutzt jetzt Websocket zur Übertragung der Änderungen.
Dein Reverse Proxy muss WebSockets unterstützen, ansonsten bekommst Du das Webfront nicht über den Reverse Proxy.
Die erste Hürde ist die Passworteingabe, welche ohne Websocket Support nicht funktioniert.

Ich kenne mich mit pfSense nicht aus. Aber die Google Stichwortsuche wären „pfSense proxy with websocket support“.
Da musst Du Dich mal selber durchwühlen, falls Dir hier kein anderer pfSense User genau sagen kann, was wo wie konfiguriert werden muss.

Websocket Support wird von immer mehr Frontends benötigt. Daher bin ich guter Dinge, dass dies auch mit pfSense möglich sein sollte.

Schau mal hier: https://mlohr.com/websockets-for-synology-dsm/

Hallo Zusammen,

Ich habe das gleiche Problem mit dem Safari auf dem iPad und dem iPhone.
Mit dem Firefox unter Windows funktioniert die Anmeldung.

Ich nutze jetzt IP Symcon 5.1 vom 23.05.2019

Nutzt du denn einen Reverse Proxy? Denn in diesem Thema geht es genau darum.

paresy

Da ich nicht weiß was ein reverse Proxy ist … vermutlich eher nicht.

Hallo Uwe,

Soweit war ich dann auch schon aber das ist bei PfSense nicht so einfach wie beim Synology. Viele posts gehen auf den HAProxy ein und auf nginx. Was ich zu Squid gefunden habe ist alles auf ACLs bezogen und so weit bin ich mit Squid nicht vertraut, bin nur ein interessierter user und kein super nerd.
Hab jetzt auf https und NAT umgestellt. Brauch zum glück den port 443 nicht für anderes zeuchs…

Das ganze ist allerdings ein Problem beim vermarkten. So ein Schneider Nero (Fibaro) Home Hub da geb ich meine e-mail adresse an, mach einen account und das funktioniert. Halt überhaupt nicht mehr wenn das internet mal weg ist aber das kümmert ja erst mal keinen.

Gruß

Heinz