我希望将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
?那太糟糕了。