Hallo zusammen.
Ich bin blutiger Anfänger und hab mich mit YouTube Videos, Wiki beiträgen und Blogs schonmal so weit vorgearbeitet, dass ich im LAN die IP des reverse Proxys aufgerufen habe und dann zu FHEM weitergeleitet wurde.
Ohne großartig die Unterschiede zu verstehen hab ich mich für nginx als reverse Proxy entschieden.
Im Endeffekt soll mit einer DynDNS bei goip.de mit Hilfe von Subdomains (fhem.XXX.goip.de, geo.XXX.goip.de ... FHEM, Alexa, webhooks etc. erreichbar sein. alle Dienste laufen auf dem Raspberry Pi.
nachdem ich jetzt nachgelesen habe, wie ich Standard http anfragen von Port 80 auf SSL 443 umleite funktioniert leider nichts mehr. unter der nginx-ip bekomme ich die Authentifizierung Meldung und bleibe dort in einer Endlosschleife.
meine nginx.conf:
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
auth_basic "NGINX";
auth_basic_user_file /etc/nginx/.htpasswd;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
unter sites-available hab ich 2 konfigurationen mit einem symbolischen link in die sites-enabled:
default:
server {
listen 80;
return 301 https://$host$request_uri;
}
fhem-app:
server{
listen 443;
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;
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;
# Fix the “It appears that your reverse proxy set up is broken" error.
proxy_pass http://localhost:8083;
proxy_read_timeout 2073600;
proxy_buffering off;
auth_basic "Restricted Contend";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
die .htpasswd habe ich wie hier
https://wiki.fhem.de/wiki/HTTPS-Absicherung_%26_Authentifizierung_via_nginx_Webserver beschrieben angelegt.
Ich weiß, dass es hier schon viele beiträge gibt, aber ich komme aus dieser Endlosschleife nicht raus und bin eigentlich der Meinung alles befolgt zu haben

Dann noch eine kleine allgemeine Frage zu reverse Proxys:
Wenn ich das Prinzip richtig verstanden habe, mache ich im Nachgang nur noch den Port 80 im Router auf und leite den an den Reverse Proxy weiter.
Dieser ist dann per SSL und Passwort gesichert.
Wie sieht es dann mit dem Passwort und SSL in FHEM aus? muss dort auch SSL und basicauth aktiviert werden?
oder leitet der Proxy SSL -> Fhem HTTP?
und wie wird das Passwort von Fhem dann behandelt? das müsste dann ja im Klartext in der nginx config stehen?!