我想要建立一个环境,在其中我可以有一个简单的暗示,可以通过使用代理和应用程序 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/test.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 用户代理:密码代理 -u 用户:密码http://172.18.0.1:8184/test.csv
但它返回 401。
在日志中,我看到代理正在读取应用程序的用户:密码,而不是提供的 user_proxy:password_proxy。
我不知道如何设置代理以正确使用正确的用户:密码作为身份验证。
提前致谢。