フォワードプロキシおよび認証としての Nginx

フォワードプロキシおよび認証としての Nginx

プロキシとアプリの両方に nginx を使用して、フォワード プロキシ経由でアクセスできるシンプルなインプリケーションを持つ環境を設定したいと考えています。

私の nginx は両方とも docker コンテナです。

まずこれはアプリケーションのnginx.congです

events { }

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

    }
  }
}

設定したユーザー:パスワードで問題なく動作しています。簡単なcurlコマンドでアクセスできます。

curl -u ユーザ:パスワードhttp://172.18.0.1:8184/テスト.csv

さて、この設定を使用してプロキシを設定します

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;
        }        
    }
}

このコマンドを実行して、このプロキシを使用して最初のアプリに再度アクセスしようとします

curl -x 127.0.0.1:8185 -U user_proxy:password_proxy -u ユーザ:パスワードhttp://172.18.0.1:8184/テスト.csv

しかし、401 が返されます。

ログを見ると、プロキシがアプリの user:password を読み取っており、user_proxy:password_proxy として提供されたものではないことがわかります。

認証として正しいユーザー:パスワードを正しく使用するためにプロキシを設定する方法がわかりません。

前もって感謝します。

関連情報