Nginx 可以代理到 Nginx 虚拟主机吗?

Nginx 可以代理到 Nginx 虚拟主机吗?

我的 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;
}

相关内容