Redirect 302';在nginx反向代理之后不工作
我们目前正在从Pound切换到我们的反向代理的Nginx,除了一个站点之外,我所有的东西都可以工作 我们有一个分离的DNS设置。我们所有的网络服务器都在防火墙后面。如果您在我们的网络上,我们的内部DNS直接指向我们的Web服务器。如果您在我们的网络之外,我们的外部DNS会指向我们的反向代理,它会将流量通过防火墙转发到Web服务器 我们有一个网站,当然是供应商软件(horray!),基本上如果我们的用户去服务器发送302重定向代码并指向他们 这个重定向在内部工作,但是如果你从外部连接,302重定向永远不会通过nginx。他们停留在abc.foo.com上,Nginx返回200状态 Pound从来没有遇到过这个问题,Pound允许重定向通过,没有问题 以下是我当前的nginx配置:Redirect 302';在nginx反向代理之后不工作,redirect,nginx,reverse-proxy,Redirect,Nginx,Reverse Proxy,我们目前正在从Pound切换到我们的反向代理的Nginx,除了一个站点之外,我所有的东西都可以工作 我们有一个分离的DNS设置。我们所有的网络服务器都在防火墙后面。如果您在我们的网络上,我们的内部DNS直接指向我们的Web服务器。如果您在我们的网络之外,我们的外部DNS会指向我们的反向代理,它会将流量通过防火墙转发到Web服务器 我们有一个网站,当然是供应商软件(horray!),基本上如果我们的用户去服务器发送302重定向代码并指向他们 这个重定向在内部工作,但是如果你从外部连接,302重定向
server {
listen 80;
server_name abc.foo.com;
location / {
proxy_set_header Host &host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://webserveripaddress;
}
}
我猜您遗漏了一些东西,但如果它真的那么简单,您可以使用return
location / {
return 301 http://webserveripaddress;
}
显然,我们不再使用abc.foo.com的内部服务器 他们更改了外部DNS上的DNS条目,并且从未从旧的反向代理中删除该信息,因为“它已经不再存在了”
因此,Nginx正在按其应有的方式工作。无需担心,请参阅下面的答案。