用例
我们需要重定向到当前网站(ip1 -https://host.com/路径) 来自一个新服务器 (ip2),该服务器将在根路径下托管另一个网站 (https://host2.com/)。最后,这个最后一个网站将托管为https://host.com/,这意味着我们将在https://host.com/(托管在 ip2 上)以及另一个https://host.com/路径(托管在 ip1 上)
NGINX 在 ip2 服务器上运行。
当前网站仅接受来自 host.com 的请求
当前配置
这就是我们现在在 ip2 服务器上尝试做的事情
location /path/ {
proxy_pass https://ip1/path;
proxy_redirect off;
proxy_set_header Host host.com;
}
如果我们尝试访问https://host2.com/path,配置运行良好。当我们更改 DNS 以将 ip2 设置为 host.com 时,如果我们尝试访问https://host.com/路径,NGINX 正在处理请求,但随后我们有无限的 302 重定向到https://host.com/路径(直到浏览器最终停止该过程)
您知道如何解决这个问题吗?
多谢 !
答案1
我们最终找到了一种配置来解决这个问题:
location /path/ {
proxy_pass https://ip1/path/;
proxy_redirect off;
proxy_set_header Host host.com;
}
注意协议(https)和尾随的斜杠字符。
我们已将 DNS 移至将 host.com 重定向至 ip2,并且一切运行正常!