Hallo Zusammen,
nachdem ich erfolgreich mit meinem "Gerümpel" auf Proxmox umgezogen bin, funktioniert alles ausser der NGINX ReverseProxy.
Der Webserver hat einen eigenen Contaier (nur NGINX) und soll auf den fhem Container weiterleiten.
Leider macht er das nicht, bekomme immer: 500 Internal Server Error
Die Konfig vom NGINX sieht so aus:
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name fhem;
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/fhem.access.log;
error_log /var/log/nginx/fhem.error.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_pass http://192.168.0.202:8085;
proxy_read_timeout 90;
#proxy_read_timeout 20736000;
#proxy_buffering off;
# User Sickboy's Erweiterung für verschlüsselte Websocket-Kommunikation (siehe Diskussionsseite)
# Für normale Benutzer derzeit kommentiert, vom Autor Andremotz noch bisher ungetestet
# ... daher derzeit auskommentiert
# Wird für 'longpoll' benötigt (z.B. bei FTUI)
#set $my_http_upgrade "";
#set $my_connection "Connection";
#if ($http_upgrade = "websocket") {
# set $my_http_upgrade $http_upgrade;
# set $my_connection "upgrade";
#}
#proxy_set_header Upgrade $my_http_upgrade;
#proxy_set_header Connection $my_connection;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
# proxy_redirect http://localhost:8083 https://localhost;
}
}
Woran könnte das denn liegen?
Hier noch der Fehlerlog vom Webserver:
2020/04/06 13:07:05 [crit] 8060#8060: *2 crypt_r() failed (22: Invalid argument), client: 192.168.0.1, server: fhem, request: "GET / HTTP/1.1", host: "192.168.0.204"
https://github.com/nginx-proxy/nginx-proxy/issues/643
Danke, das war zwar nicht mein Fehler, aber es hat mich zur Lösung gebracht.
Zitat von: Mitch am 06 April 2020, 15:38:00
Danke, das war zwar nicht mein Fehler, aber es hat mich zur Lösung gebracht.
Schreibst Du bitte noch die Lösung kurz hier rein. Danke Dir
Zwei Dinge habe ich (leider) gleichzeitig gemacht, darum weis ich nicht, welches es war.
1. die passwort datei löschen und neu erstellen
2. in der config das listen 443; ändern in listen 443 ssl http2;
Zitat von: Mitch am 06 April 2020, 16:05:31
Zwei Dinge habe ich (leider) gleichzeitig gemacht, darum weis ich nicht, welches es war.
1. die passwort datei löschen und neu erstellen
2. in der config das listen 443; ändern in listen 443 ssl http2;
Ok ich gehe von ersterem aus weil genau das ja in dem issues erwähnt und empfohlen wurde.
wobei ich weder das Passwort noch die Verschlüsselung geändert habe.
Zitat von: Mitch am 06 April 2020, 16:16:13
wobei ich weder das Passwort noch die Verschlüsselung geändert habe.
Das spielt keine Rolle. Es ging darum das mit der lokalen htpasswd Anwendung zu machen.
Hm, aber ich habe es beide male gleich gemacht sh -c "echo -n 'maxmustermann:' >> /etc/nginx/.htpasswd"
Zitat von: Mitch am 06 April 2020, 16:41:21
Hm, aber ich habe es beide male gleich gemacht sh -c "echo -n 'maxmustermann:' >> /etc/nginx/.htpasswd"
Ok. Dann bin ich auch Ratlos
sh -c "echo -n 'maxmustermann:' >> /etc/nginx/.htpasswd"
D.h. Du hast in der .htpasswd nur stehen: "maxmustermann:" ??? Das dürfte eigentlich nicht funzen ...
Da Dein proxy extern erreichbar ist, würde ich Dir dann noch letsencrypt empfehlen. Gibt hier im Forum einen Thread von mir dazu ...