根据上游是本地还是远程

时间:2018-10-23 09:07:16

标签: nginx reverse-proxy failover proxypass

我希望将nginx设置为本地应用程序的https反向代理,以防万一本地应用程序关闭时故障转移到远程主机。在部署期间。我的问题是我需要方案(http或https)取决于上游主机是本地主机还是远程主机,但我找不到动态设置它的方法。

请考虑以下配置。

upstream backend {
    server localhost:8080; # scheme should be http here
    server a.example.com:443 backup; # scheme should be https here
    server b.example.com:443 backup; # scheme should be https here
}

server {
    listen   443;
    ...
    ...
    location / {
        # How can I set the proxy_pass scheme to https when upstream is a remote host?
        proxy_pass  http://backend;
    }
}

是否有一种方法可以使proxy_pass方案取决于所选的上游?我查看了nginx文档,找不到任何动态定义它的方法。我想念什么吗?我是否必须为localhost设置一个处理https的中介服务器并设置proxy_pass https://backend?那太糟糕了。

0 个答案:

没有答案