我有一个 NGINX 配置:
upstream djangobackend {
server svr1.int.example.com:80;
server svr2.int.example.com:80;
server svr3.int.example.com:80;
}
server {
location / {
proxy_pass http://djangobackend;
}
}
我的问题是 NGINX 似乎在向上游 svrX 机器发出请求时将 HOSTNAME 重写为“djangobackend”。
这是一个问题,因为我有同一个站点的多个域名(大客户的子域)。所以我请求http://customer42.example.com/index.html
svrX 看到http://djangobackend/index.html
并且不知道为 customer42 自定义页面。
我可以使用每个子域一个 NGINX 虚拟服务器来解决这个问题(每个虚拟服务器使用不同的上游名称),但这不会扩展到超过六个客户。
我怎样才能解决这个问题?
在文档中找到了答案:http ://wiki.nginx.org/HttpProxyModule
我只需要添加以下行: