您能帮忙建议在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,则由于子域请求而很好:
但是nginx上游将解析并缓存其IP,这意味着它将要求说: http://123.123.123.123:80,由于此IP和端口后面有多项服务,因此该服务不可用。有什么办法可以转发此域名而不是使用ip请求?
这种情况的用例是:我们在同一个openshift ECS集群上部署了多个服务。 ECS处理域分配,每个服务都有通用服务端口,例如80。