nginx上游服务器是在同一IP和端口上包含多个服务的子域

时间:2020-07-08 03:32:57

标签: docker nginx openshift nginx-upstreams

您能帮忙建议在nginx上游使用域名转发的解决方案吗?

upstream backend {
 server test.example.com:80;
}
server {
        listen 8080;
        location / {
                    proxy_pass http://backend;
                    proxy_set_header  Host $http_host;
                }
}

这是代理服务的简单配置。问题是:

URL是一个子域。并且后面的服务器/ IP在相同的端口(例如80)上具有多个服务。如果我请求url,则由于子域请求而很好:

  • test.example.com
  • test2.example.com

但是nginx上游将解析并缓存其IP,这意味着它将要求说: http://123.123.123.123:80,由于此IP和端口后面有多项服务,因此该服务不可用。有什么办法可以转发此域名而不是使用ip请求?

这种情况的用例是:我们在同一个openshift ECS集群上部署了多个服务。 ECS处理域分配,每个服务都有通用服务端口,例如80。

0 个答案:

没有答案