Nginx 反向代理 - 直通基本身份验证

Nginx 反向代理 - 直通基本身份验证

我正在尝试将 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。

相关内容