Kein Webfront Passwort bei Zugriff über Proxy aus Internet

Hallo,

ich habe nun mehrere Stunden das Forum durchsucht aber leider keine Lösung zu meinem Problem gefunden.

Ich nutze die aktuelle stable Version.

Ich habe einen Reverse Proxy Server (NGINX) installiert, um über das Internet auf mein Webfrontend zugreifen zu können. Dafür habe ich in der Webfrontend-Konfig ein Passwort und „Erfordere Passwort nur bei ext. Zugriff (Internet)“ gesetzt.

Zu meinem Erstaunen kommt auf diesem Webfrontend keine Passwort-Abfrage. Es spielt keine Rolle, ob der Zugriff aus dem Intranet oder Internet erfolgt. Wenn ich den Haken bei „Erfordere Passwort…“ rausnehme, kommt die gewünschte Passwort-Abfrage.

Es scheint also so zu sein als ob der Symcon Server aktuell alle Anfragen über den Proxy als Zugriff von intern wertet.

Lässt sich das irgendwie lösen?

Vielen Dank.

Hier die Lösung:

Wenn dein Proxy den Header sendet und es dennoch nicht funktioniert, dann ist das ein Bug.
Michael

Vielen Dank für die schnelle Antwort. Ich bin etwas unsicher, ob ich an der richtigen Stelle prüfe, ob dieser Header vom Proxy gesendet wird. Aktuell rufe ich in Firefox die Webfront Adresse über den Proxy auf und schaue in den Developer Tools unter „Netzwerkanalyse“ die Header an. Dort finde ich den X-Header leider nicht.

Laut Beschreibung des Docker Proxies sollte der X-Forwarded-For Header aber eine Standardeinstellung sein.

Daher…schaue ich an der richtigen Stelle oder wie könnte ich überprüfen, ob der Proxy den Header auch tatsächlich an das Webfront schickt?

Der Header muss vom Proxy an Symcon gesendet werden.
Im Zweifelsfall bleibt dann nur mitsniffen.
Michael

Hättest Du einen Tipp, wie/wo ich einen Sniffer einbauen kann? Ist bisher nicht mein Gebiet.

Wie sieht denn deine Nginx Config aus?

paresy

Ich nutze eine Docker Installation von „Nginx Proxy Manager“. Ich habe vorhin mal die config durchsucht und sehe, dass dort X_Forwarded_For wie folgt konfiguriert ist:

add_header X-Served-By $host;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass $forward_scheme://$server:$port$request_uri;

Inzwischen habe ich wirklich einen Sniffer auf dem Server installiert auf dem auch IP Symcon läuft. Hier kommt an:

X_Forwarded_For: 172.19.01

IP Symcon empfängt hier also die IP Adresse des Docker Containers.

Weiter bin ich bisher nicht gekommen. Für weitere Ideen wäre ich sehr dankbar.

Es müsste X-Forwarded-For sein und nicht X_Forwarded_For. (Aber evtl. ist dies nur ein Anzeigefehler). Die IP vom Contrainer ist dort aber nicht gut. Denn dann denkt IP-Symcon ja, dass es weiterhin eine lokale Anfrage ist. Du willst ja sicherstelle, dass die Anfrage korrekt als externe Anfrage erkannt wird und somit aus einer öffentlichen IP Adresse kommt.

paresy

Danke, ja X-Forwarded-For kommt auch durch. Das war ein Tippfehler.

Das Thema ist sehr Docker spezifisch. Ich habe es inzwischen gelöst. Falls zukünftig noch mal jemand den „Nginx Proxy Manager“ verwenden sollte, ist hier die aktuelle Lösung für das Problem: Enable "network host mode" to get real client IP? · Issue #1762 · NginxProxyManager/nginx-proxy-manager · GitHub

1 „Gefällt mir“