我使用主机名运行几个Docker容器:
web1.local web2.local web3.local
这些路由由nginx根据主机名完成。我在此设置之前(在连接到互联网的另一台计算机上)有一个代理,在其中我将上游定义为:
upstream main {
server web1.local:80;
server web2.local:80;
server web3.local:80;
}
以及实际的虚拟主机说明:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://main;
}
}
现在,由于容器收到的主机名是“ main”而不是“ web1.local”,因此它们无法正确响应请求。
问题:代理请求时,如何告诉nginx在Host:标头中传递上游服务器的名称而不是上游服务器组的名称?