nginx 负载平衡与 IIS 后端服务器等待主机头

nginx 负载平衡与 IIS 后端服务器等待主机头

我有一个 ubuntu 10.04,其中 nginx /0.8.54 作为负载平衡代理运行,名为:www.local.com

我有两个 IIS 后端服务器,它们响应主机头请求 web1.local.com web2.local.com

问题: 当我打开我的 nginx 平衡器时www.local.com我的后端服务器响应默认服务器空白网页(IIS 默认页面),因为它们正在等待正确的主机头(例如web1.local.com

我的nginx.conf

upstream backend { server web1.local.com:80; server web2.local.com:80; } server {

      listen 80;
            location / {
              proxy_pass  http://backend;
              proxy_set_header        X-Real-IP       $remote_addr;
              proxy_set_header        Host            $proxy_host;
            }
    }

有什么提示吗?

答案1

proxy_set_header Host $host; 不能解决您的问题吗?

答案2

所以我解决了这个问题

问题首先是缺失的,我在 apache 的 conf 文件中proxy_set_header Host $host; 缺少正确的虚拟主机名。ServerName www.domain.local

我认为 nginx 正在使用上游服务器列表中列出的服务器名称在内部发送代理标头。

相关内容