FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: phil82 am 29 April 2017, 09:51:53

Titel: Websocket mit HTTPS auf dem iPhone
Beitrag von: phil82 am 29 April 2017, 09:51:53
Hallo zusammen,

bei mit funktioniert longpoll per Websocket auf dem iPhone per HTTPS nicht. Hat jemand eine ähnliche Konfiguration und funktioniert diese?
Mit Firefox (am PC) funktioniert alles. Auch auf einem Android-Tablet läuft die Kombination. Ohne Verschlüsslung (nur HTTP) funktioniert WebSocket auch auf dem iPhone. Aber halt nicht mit HTTPS und ich will (gerade von unterwegs) nicht auf eine Verschlüsslung verzichten.

Ich hab das selbst ausgestellt Zertifikat in verdacht. Das Zertifikat ist selbst ausgestellt und nicht irgendwie Zertifiziert oder von "Let's Encrypt". Die Ausnahmen im Browser musste ich immer akzeptieren.

FHEM läuft bei mir eigentlich hinter einen Reverse Proxy, damit ich eine SSL-Autentifizierung nutzen kann. Das Problem besteht aber auch ohne den Reverse Proxy, wenn die Fhem-Webseite direkt aufgerufen wird.

Ich hab mit dem Reverse Proxy auch mal die Anfragen per HTTP und HTTPS mitgeschnitten:
Bei HTTPS fehlt der "GET"-Request für die WebSocket-Verbindung. Es sieht also so aus, also ob das iPhone die WebSocket-Verbindung erst garnicht aufbaut.
Leider hab ich im iPhone keine Browser-Console und kann mit die Aufrufe von iPhone nicht anschauen.
Titel: Antw:Websocket mit HTTPS auf dem iPhone
Beitrag von: justme1968 am 29 April 2017, 10:50:16
ich meine ios akzeptiert in aktuellen versionen selbst signierte zertifikate nicht mehr überall.

wenn du einen mac hast kannst du das iphone per kabel anschließen. die ios js konsole findest du dann im safari entwickler menü.

wäre vielleicht vpn sinnvoller als proxy zugriff?
Titel: Antw:Websocket mit HTTPS auf dem iPhone
Beitrag von: rudolfkoenig am 29 April 2017, 13:54:39
Die Vermutung ist richtig: in der JS Konsole sieht man den wiederkehrenden OSStatus-Fehler -9807, und hier (https://github.com/mrjoes/tornadio2/issues/59) sieht man, dass frueher die Meldung auch den Text "Invalid certificate chain" enthalten hat. Oder auch:
"Safari 5 does not currently support prompting on untrusted SSL certificates therefore using signed certificates is highly recommended."

Interessanterweise bekomme ich die Meldung auch, obwohl ich das dazu passende Zertifikat auf dem iOS Geraet installiert habe. Ist mAn also ein iOS Bug.
Titel: Antw:Websocket mit HTTPS auf dem iPhone
Beitrag von: phil82 am 30 April 2017, 09:57:35
Danke für die Antworten.
Jetzt kenne ich zumindest die Ursache und weiß, dass es nicht an Fhem liegt.
Muss mir dann mal eine passende Lösung suchen oder damit zu leben, mal schauen.

Einen Mac hab ich leider nicht. Macht eine Lösungssuche nicht einfacher. :(
VPN finde ich nicht so "charmant", da ich mich dann immer einwählen muss. Mit dem Proxy und der SSL-Autentifizierung hab ich mir die WebSeite (TabletUI) auf dem Homescreen gelegt und hab dann "quasi" eine App.

Das Zertifikat hab ich auch auf dem iOS installiert -> Erfolglos.
Aus meiner Sicht ebenfalls ein iOS Bug. Macht auch eigentlich keinen Sinn das Zertifikat für HTTPS zu akzeptieren, für WSS aber nicht. Erst recht wenn das Zertifikat installiert ist.

Mal schauen. Vielleicht bekomme ich ja irgendwie ein "Let's Encrypt"-Zertifikat oder ähnliches hin.
Wenn ich eine Lösung habe, dann melde ich mich.
Titel: Antw:Websocket mit HTTPS auf dem iPhone
Beitrag von: justme1968 am 30 April 2017, 10:22:02
ios kann das vpn auch automatisch aufbauen. auch mal im internet. es gibt diverse anleitungen dafür.