Redirect NGINX总是重定向到本地主机和端口

Redirect NGINX总是重定向到本地主机和端口,redirect,nginx,reverse-proxy,Redirect,Nginx,Reverse Proxy,我有一个NGINX代理服务器,它反向代理某个端口上运行的本地NGINX服务器。我是 希望这一切都保持在同一个领域,它看起来无缝的访问者。像这样的 http://example.com/foo/bar.html ===> http://127.0.0.1:1280/bar.html 例如,如果我故意触发一个“未找到文件”错误,这就很好了 http://example.com/foo/this-file-doesnt-really-exist-on-server.html 它按预期通过并停

我有一个NGINX代理服务器,它反向代理某个端口上运行的本地NGINX服务器。我是 希望这一切都保持在同一个领域,它看起来无缝的访问者。像这样的

http://example.com/foo/bar.html ===> http://127.0.0.1:1280/bar.html
例如,如果我故意触发一个“未找到文件”错误,这就很好了

http://example.com/foo/this-file-doesnt-really-exist-on-server.html
它按预期通过并停留在该地址。但是,如果导航到确实存在的文件,例如

http://example.com/foo/bar.html
浏览器将改为重定向到

http://127.0.0.1:1280/bar.html
由于该服务器只监听localhost,浏览器会启动一个页面未找到(404)错误

这让我困惑,我尝试了一切,我搜索了谷歌一个多星期,尝试了数百种解决方案,但没有任何成功或改变,我尝试了几十种与这些标题的组合

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
并尝试了几十种不同的代理重定向,包括完全禁用代理重定向

proxy_redirect http://127.0.0.1:1285/ http://example.com/foo/;


我已经放弃了,并且认为在NGINX中这是完全不可能的,如果有人能提供任何帮助,我将不胜感激

我想你是在寻找代理通行证,而不是代理重定向:

请参阅此网站上的nginx文档:


我发现问题在于缓存。我启用了开放文件缓存、快速cgi缓存、代理缓存和开放日志缓存。禁用所有这些奇怪的怪癖后,像这里提到的怪癖到目前为止已经停止了。

我使用的是代理传递,只是它偶尔会将浏览器重定向到代理服务器URL,而不是继续反向代理它。-------我想我发现问题出在缓存上,我启用了代理缓存,禁用代理缓存后,我注意到很多奇怪的怪癖停止了,比如说,对于那些通过搜索找到这个问题的人(就像我一样),设置相关的标题是非常重要的(至少这是我解决问题的方法)
proxy\u redirect off是在应用答案中的建议后对我有效的东西。
proxy_redirect off;
location / {
    # include your proxy params
    # ...
    proxy_pass http://localhost:1280;
}