如何通过负载均衡器 nginx 传递域名

如何通过负载均衡器 nginx 传递域名

我有一个带有 nginx 的负载均衡器,并将流量传递到其他服务器。一切工作正常,但我允许我的客户添加他们自己的自定义域名或使用我的域中的子域,我无法从处理请求的服务器获取域名。有没有办法将域名从负载均衡器传递到服务器。现在在服务器中我只能获得上游的名称

upstream backend {
        server xxx.xxx.xxx.xxx;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

我对获取后端的域名感兴趣。

谢谢

答案1

对于 HTTP 上游,您可以简单地使用proxy_set_header,如下所示

upstream backend {
        server xxx.xxx.xxx.xxx;
}

server {
    location / {
        proxy_pass        http://backend;
        proxy_set_header  Host "the domain name you wanted";
    }
}

相关内容