Nginx als Forward-Proxy und Authentifizierung

Nginx als Forward-Proxy und Authentifizierung

Ich möchte eine Umgebung einrichten, in der ich eine einfache Implikation hätte, die über einen Forward-Proxy zugänglich wäre, der sowohl für den Proxy als auch für die App nginx verwendet.

Meine beiden Nginx sind Docker-Container.

Dies ist zunächst die nginx.cong der Anwendung

events { }

http {
  server {
    auth_basic "Restricted Content";
    auth_basic_user_file /etc/nginx/.htpasswd;
    root /doc;
    location / {

    }
  }
}

Es funktioniert gut mit dem von mir eingerichteten Benutzer:Passwort. Ich kann mit einem einfachen Curl-Befehl darauf zugreifen

curl -u Benutzer:Passworthttp://172.18.0.1:8184/test.csv

Nun richte ich den Proxy mit dieser Konfiguration ein

events { }


http {

    server {
        auth_basic "BLABLABLA";
        auth_basic_user_file /etc/nginx/.htpasswd;
        listen 8185;
        location / {
            proxy_pass http://$http_host$uri$is_args$args;
            proxy_pass_request_headers on;
        }        
    }
}

Ich versuche, über diesen Proxy erneut auf die erste App zuzugreifen, indem ich diesen Befehl ausführe

curl -x 127.0.0.1:8185 -U Benutzerproxy:Passwortproxy -u Benutzer:Passworthttp://172.18.0.1:8184/test.csv

Es wird jedoch 401 zurückgegeben.

Im Protokoll sehe ich, dass der Proxy das Benutzer-Passwort der App liest und nicht das als Benutzer_Proxy:Passwort_Proxy angegebene.

Ich weiß nicht, wie ich den Proxy so einrichte, dass er das richtige Benutzer-Passwort zur Authentifizierung verwendet.

Dank im Voraus.

verwandte Informationen