我有一个Nginx服务器充当我的apache服务器的负载均衡器.我正在使用子域,我的代码依赖于HTTP_HOST值来执行正确的任务.
当我发出请求说:http://get.example.com一旦转发,apache上的HTTP_HOST就变成了example.com.
我的问题是如何让它与原始请求保持一致?
这是我的Nginx配置:
upstream example.com {
server 192.168.2.1:8909 weight=2;
server 192.168.2.2:8909 weight=1;
server 192.168.2.3:8909 weight=1;
}
server {
listen 80;
location / {
proxy_pass http://example.com;
}
}
我尝试添加多个proxy_pass,每个子域一个,它似乎不起作用.
最佳答案
您需要传递HTTP Host标头.将其添加到相关位置:
proxy_set_header Host $host;