NGINX.OpenShift集群之间的负载平衡.如何获取上游下服务器的名称



我有一个在两个OpenShift集群上工作的应用程序,我想使用Nginx(免费(进行负载平衡。

我的操作系统路由使用Passthrought终止类型,所以我需要传递ssl_name和Host标头来解析服务。

我的Nginx会议的一部分:

upstream backend {
server.com.one
server.com.two max_fails ...
}
server {
...
proxy_ssl_name $proxy_host;
proxy_set_header Host $proxy_host;
proxy_pass https://backend;
}

变量$proxy_host返回后端,而不是server.oneserver.tool

如何获取上游下的服务器名称?也许我可以在proxy_ssl_name中传递两个服务器的串联之类的东西?

其他解决方案?

您可以将每个上游到中间服务器块打包:

upstream backend {
# server.com.one
127.127.0.1:2000;
# server.com.two
127.127.0.2:2000 max_fails ...;
}
server {
proxy_pass https://backend;
}
server {
listen 127.127.0.1:2000;
location / {
proxy_pass https://server.com.one;
}
}
server {
listen 127.127.0.2:2000;
location / {
proxy_pass https://server.com.two;
}
}

最新更新