我有一个 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 正在使用上游服务器列表中列出的服务器名称在内部发送代理标头。