我的 http 块中已上行:
upstream backend.example.com {
server 127.0.0.1:443;
}
在前端的服务器块中:
location ~* ^/special {
proxy_pass https://backend.example.com;
include /etc/nginx/conf.d/proxy.conf;
}
当 backend.example 由 Apache 托管或位于另一台机器上时,这似乎可以正常工作。当前端和后端是监听相同地址和端口的“虚拟主机”时,Nginx 将返回 502 Bad Gateway(配置错误)错误。
Nginx 是否能够代理自身,并根据服务器名称解析其目的地?
答案1
据我所知,您应该尝试重命名后端上游,让我们尝试这样的操作。
upstream backend {
server 127.0.0.1:443;
}
现在,当您尝试执行代理密码时,让我们将其更改为新的上游名称,然后设置不同的标头
location ~* ^/special {
proxy_pass https://backend;
proxy_set_header Host backend.example.com
include /etc/nginx/conf.d/proxy.conf;
}