Hallo,
vorweg: shNG/sV laufen seit langem bei mir stabil in einer zentralen Debian-VM auf dem NAS (QNAP). In der gleichen VM liegt auch eine nextCloud-Installation, die unseren Kalender enthält. Diese nextCloud-Installation mault seit Ewigkeiten beim Selbstcheck, ich solle doch gefälligst ein Zertifikat installieren und auf https wechseln. Also hab ich mich mal drauf eingelassen.
Nach Installation des selbst ausgestellten Zertifikats wurden zwar noch die SV-Seiten dargestellt, aber keine Daten mehr durch shNG angeliefert. Nach einigen Sekunden erschien immer das rote ERROR-Warndreieck rechts oben mit der Meldung
Die sV-eigenen Plugins (nextCloud, Fritzbox) erhielten aber nach wie vor ihre Daten.
Da Chrome und Firefox auf https bestehen, war ein testweises Fallback auf http dort nicht möglich. http ging aber sehr wohl in Edge, in dem die Visu dann auch ordnungsgemäß mit allen shNG-Daten angezeigt wurde.
Die Chrome-Konsole hat auf ein Problem in driver/io_smarthome.py.js in Zeile 115 verwiesen:
Nach einer temporären Änderung in
lädt Chrome alle Daten wieder ordnungsgemäß. Offensichtlich gibt es also ein Kommunikationsproblem mit shNG bei der Verwendung von wss://.
Es werden zwar in der Konsole zwei Warnungen ausgegeben:
Es ist also fraglich, wie lange noch ('deprecated') - aber es läuft. Auch dauert es jetzt ca. 30s, bis erste Daten von shNG angeliefert werden (Eieruhr), vorher kamen die immer gleich.
Ist das ein Fehler auf der Treiberseite von sV/shNG, oder liegt hier ein anderes Problem vor? Nach meinem Verständnis haben ja eigentlich Websockets mit einem Zertifikat für den http-Webserver (Apache) eher wenig zu tun, oder? Hat hier jemand die Kombi shNG/sV mit installiertem (selbstausgestellten) Zertifikat erfolgreich am Laufen?
/tom
ps: Ich bin weder ein https-/Zertifikatsexperte (der ganze Krimskrams geht mir sogar auf die Nerven), noch bin ich mir sicher, ob das Thema in shNG nicht vielleicht besser aufgehoben wäre. Oder ob es sogar ein Konfigurationsproblem des Webservers bzw. Betriebssystems ist. Auch gibt es hier im Forum über die Jahre verteilt mehrere Threads zu genau diesem Fehlerbild; aber keinen einzigen mit einer Lösung (selbst Marcus/Callidomus hatte dann irgendwann aufgegeben). Danke also für neue Lösungsansätze!
vorweg: shNG/sV laufen seit langem bei mir stabil in einer zentralen Debian-VM auf dem NAS (QNAP). In der gleichen VM liegt auch eine nextCloud-Installation, die unseren Kalender enthält. Diese nextCloud-Installation mault seit Ewigkeiten beim Selbstcheck, ich solle doch gefälligst ein Zertifikat installieren und auf https wechseln. Also hab ich mich mal drauf eingelassen.
Nach Installation des selbst ausgestellten Zertifikats wurden zwar noch die SV-Seiten dargestellt, aber keine Daten mehr durch shNG angeliefert. Nach einigen Sekunden erschien immer das rote ERROR-Warndreieck rechts oben mit der Meldung
Driver: smarthome.py
Could not connect to smarthome.py server!
Websocket error undefined.
Could not connect to smarthome.py server!
Websocket error undefined.
Da Chrome und Firefox auf https bestehen, war ein testweises Fallback auf http dort nicht möglich. http ging aber sehr wohl in Edge, in dem die Visu dann auch ordnungsgemäß mit allen shNG-Daten angezeigt wurde.
Die Chrome-Konsole hat auf ein Problem in driver/io_smarthome.py.js in Zeile 115 verwiesen:
Code:
protocol = location.protocol === 'https:' ? 'wss://' : 'ws://';
Code:
protocol = location.protocol === 'https:' ? 'ws://' : 'ws://';
Es werden zwar in der Konsole zwei Warnungen ausgegeben:
io_smarthome.py.js:130 Mixed Content: The page at 'https://192.168.178.7/smartvisu/index.php?page=heizung' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://192.168.178.7:2424/'. This endpoint should be available via WSS. Insecure access is deprecated.
io_smarthome.py.js:130 Connecting to a non-secure WebSocket server from a secure origin is deprecated.
io_smarthome.py.js:130 Connecting to a non-secure WebSocket server from a secure origin is deprecated.
Ist das ein Fehler auf der Treiberseite von sV/shNG, oder liegt hier ein anderes Problem vor? Nach meinem Verständnis haben ja eigentlich Websockets mit einem Zertifikat für den http-Webserver (Apache) eher wenig zu tun, oder? Hat hier jemand die Kombi shNG/sV mit installiertem (selbstausgestellten) Zertifikat erfolgreich am Laufen?
/tom
ps: Ich bin weder ein https-/Zertifikatsexperte (der ganze Krimskrams geht mir sogar auf die Nerven), noch bin ich mir sicher, ob das Thema in shNG nicht vielleicht besser aufgehoben wäre. Oder ob es sogar ein Konfigurationsproblem des Webservers bzw. Betriebssystems ist. Auch gibt es hier im Forum über die Jahre verteilt mehrere Threads zu genau diesem Fehlerbild; aber keinen einzigen mit einer Lösung (selbst Marcus/Callidomus hatte dann irgendwann aufgegeben). Danke also für neue Lösungsansätze!
Kommentar