[gelöst] kein Connect über die Internetadresse mehr möglich

Begonnen von Achim, 27 Februar 2020, 18:52:18

Vorheriges Thema - Nächstes Thema

Achim

Hallo,

ich habe heute einen FHEM Update gemacht. Danach bekomme ich keinen Connect zu FHEM über die Internetadressse mehr hin. Es kommt immer ein Timeout. Nach Einspielen von
Zitat01_FHEMWEB.pm   20818 2019-12-23 20:12:15Z rudolfkoenig $
TcpServerUtils.pm   19138 2019-04-07 10:17:21Z rudolfkoenig $
funktioniert der Connect wieder.

Der interne DNS Name ist bei mir ein anderer als der externe (Internetaddresse) Name. Einen Eintrag im Log gibt es nicht. Ich gehe davon aus, das es mit der Änderung von
https://forum.fhem.de/index.php/topic,108536.0.html zusammenhängt.

Wo liegt da bei mir das Problem, bzw. welche Konfiguration muss ich ändern, damit es wieder funktioniert. Da ich bisher keinen Eintrag im Forum zu dem Problem gefunden habe, gehe ich einmal davon aus, das dies ein Konfigurationsproblem auf einer Seite ist und kein generelles Problem.

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

Wernieman

d.h. intern ist es erreichbar, aber extern nicht?

Dein FHEM ist also extern erreichbar, direkt ohne "Zwischenschicht"?
(Ich hoffe abgesichert?)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rudolfkoenig

ZitatEinen Eintrag im Log gibt es nicht.
Ich interpretiere das als "einen von mir als Fehlermeldung erkennbaren Eintrag gibt es nicht", die anderen Eintraege koennten aber bei der Fehlersuche auch helfen (z.Bsp. ob SSL oder nicht, wieviele Instanzen, etc). Da das Problem mir unbekannt ist, kann ich ohne Hilfe keine Loesung praesentieren.

Ich wuerde als erstes verbose auf 5 setzen, und schauen, was im FHEM-Log erscheint.

ZitatIch gehe davon aus, das es mit der Änderung von https://forum.fhem.de/index.php/topic,108536.0.html zusammenhängt.
Das wuerde mich zwar bei diesen Symptomen wundern, aber um die These zu verifizieren koennen wir die gleiche Methode, wie in den verlinkten Artikel beschrieben, verwenden: https://forum.fhem.de/index.php/topic,108536.msg1025441.html#msg1025441

Achim

#3
Hallo,

das Problem liegt wohl an der https-Verbindung. Intern verwende ich nur http. Für extern habe ich eine zweite FHEMWEB Instanz auf einem anderen Port.
Mit  verbose=5 in der https-Instanz und dem Eintrag Log 1, $hash->{HDR}; bekomme ich beim Verbindungsaufbauversuch nur die beiden Zeilen bis zur Anzeige vom timeout im Browserfenster
Zitat2020.02.27 20:31:45 4: Connection accepted from WEB_xxx.xxx.xxx.xxx_61922
2020.02.27 20:32:24 4: Connection closed for WEB_xxx.xxx.xxx.xxx_61922: EOF
im Logfile
zwischen den zwei Zeilen ist davor und danach keine weitere Meldung.


Beim internen Aufruf ist es "etwas" mehr. Hier mal die "ersten Blocks" von vielen:
Zitat2020.02.27 20:41:21 1: GET /fhem HTTP/1.1
Host: raspberry-prod.fritz.box:8085
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
2020.02.27 20:41:22 1: GET /fhem/pgm2/style.css?v=1582830417 HTTP/1.1
Host: raspberry-prod.fritz.box:8085
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
Accept: text/css,*/*;q=0.1
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Referer: http://raspberry-prod.fritz.box:8085/fhem

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

Achim

Hallo,

hier noch die Konfiguration der FHEMWEB Instanz:

HTTPS    1
csrfToken    none
hiddenroom    DashboardRoom
iconPath    default:fhemSVG:openautomation
longpoll    1
plotEmbed    1
plotfork    0
stylesheetPrefix    default


global istsslVersion  TLSv12:!SSLv3gesetzt
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

rudolfkoenig

Zitathier noch die Konfiguration der FHEMWEB Instanz:
Mit diesen Einstellungen habe ich keine Probleme.
Bist du sicher, dass beim FHEM-Start keine Fehler gemeldet werden?
Ist in der FHEMWEB Instanz das Internal SSL gesetzt?
Kannst du auf die HTTPS Seite von intern zugreifen?
Gibt es Probleme, wenn du nur TcpServerUtils.pm zuruecksetzt?

Achim

#6
Hallo Rudolf,

mit der TcpServerUtils.pm   19138 2019-04-07 10:17:21Z funktioniert der https Zugriff auch mit der neuen FHEMWEB.pm. Bei Start gibt es eine Fehlermeldung mit der neuen TcpServerUtils:

Zitat1: WEB: Server certificate missing, trying to create one
1: WEB: failed to create certs: Permission denied, falling back to HTTP

An den Zertifikaten im certs Verzeichnis habe ich nichts geändert.

Ich habe in der TcpServerUtils.pm die Fehlermeldung gesucht. Da hast du wohl eine zuätzliche Abfrage mit der neuen Version eingebaut. Warum die fehlschlägt weiß ich nicht. Ich habe folgendes eingebaut (nach Zeile 182):
my $asdf = `pwd`;
Log 1, "-- $name -- $cp -- $asdf";
if(! -r "${cp}key.pem") {
mit dem Resultat in Logfile
Zitat-- WEB -- certs/server- -- /

mit dem IF-Befehl kann ich mit meinen einfachen Perl-Kenntnissen nichts anfangen. "!" ist "nicht", das -r habe ich in keiner Doku gefunden. Und mit was der String in den "" verglichen wird, ??.

Hier noch ein ls mit dem certs Verzeichnis:
Zitatroot@raspberry-prod:/opt/fhem# ls -l certs
total 8
-rw-rw-rw- 1 fhem dialout 1931 Feb 23 14:59 server-cert.pem
-rw-rw-rw- 1 fhem dialout 1704 Feb 23 14:59 server-key.pem
Der modpath ist auf /opt/fhem gesetzt.

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

rudolfkoenig

Danke fuer die Infos.
Ich habe uebersehen, dass FHEM auch in einem anderen Verzeichnis als modpath laufen kann, bei dir versucht FHEM ein certs Verzeichnis im root anzulegen.
-r bedeutet lesbar, -d prueft, ob Verzeichnis, perl hat sich hier vom shell test Befehl inspirieren lassen.

Ich habe das jetzt gefixt, und eingecheckt (update morgen ab acht), kannst du es bitte erneut testen?

Achim

Hallo Rudolf,

mit der neuen TcpServerUtils.pm 21319 2020-02-29 20:48:21Z Version funktioniert der https Zugriff wieder. Vielen Dank.

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais