如何防止 NGINX 反向代理重定向至本地主机?

如何防止 NGINX 反向代理重定向至本地主机?

所以我遇到了一个看似简单的问题,但我对此很陌生。我已经为我的开发环境设置了一个反向代理,并且我有多台运行不同应用程序的机器,因此我让它们在具有不同端口的 localhost 上运行。每当我点击一个位置时,localhost/location1它都会对和localhost/location2执行 proxy_pass 。但是,当我点击浏览器中下面显示的根位置时,url 会更改为的实际 URL,而不仅仅是说 localhost,我希望它像其他所有 URL 一样这样做。那么为什么这会改变 URL?我甚至尝试过对 google 进行代理传递,它按预期工作,它只是说 localhost,但显示 google 404 页面。任何关于如何调试这个问题的见解和建议都将不胜感激。localhost:8000localhost:4343proxy_pass https://develop.example.com/;

location / {
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Forwarded-URI $request_uri;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-Published-On https://develop.example.com/;

  proxy_pass https://develop.example.com/;
  #proxy_pass http://www.google.com/;

  index index.php;
}

答案1

添加proxy_redirect

proxy_redirect https://develop.example.com/ /;

这将重写 proxy_pass 输出中的 base url,以便链接等指向代理。

相关内容