我正在尝试将 nginx 设置为使用基本身份验证进行身份验证的几个 IIS Web 服务器的反向 rpoxy 服务器。
(注意 - 这与nginx 使用密码文件提供身份验证- 它应该只是在浏览器/服务器之间协调一切)
它的工作有点不对 - 但页面上的每个资源(图像/css等)都会反复提示进行身份验证。
upstream my_iis_server {
server 192.168.1.10;
}
server {
listen 1.1.1.1:80;
server_name www.example.com;
## send request back to my iis server ##
location / {
proxy_pass http://my_iis_server;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_http_version 1.1;
proxy_pass_header Authorization;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
答案1
我认为 nginx 阻止了请求标头,没有将其发送到 IIS。请尝试设置
proxy_pass_request_headers on;
在您的位置块上。
问候。
答案2
我不确定你是否需要
在您不想进行身份验证的区域关闭 auth_basic。