我在Windows上配置了简单的负载均衡器方案:
upstream app.local {
server app1.local:8001 fail_timeout=10s max_fails=10;
server app2.local:8002 fail_timeout=10s max_fails=10;
}
server {
listen 8000;
location / {
proxy_pass http://app.local;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
像这样更改 hosts 文件
127.0.0.1 app.local
127.0.0.1 app1.local
127.0.0.1 app2.local
一切正常,但是 app1.local 和 app2.local 后面的 Web 服务器收到了错误的标头Host: app.local
,因此不想解析请求。我读过
邮报同样的问题,但最佳答案没有解决我的问题,而且我不想直接使用双层代理选项。