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