我们目前正在从Pound切换到Nginx用于我们的反向代理,除了一个站点外,我的一切都在工作。
我们有一个拆分DNS设置。我们所有的网络服务器都在我们的防火墙后面。如果您在我们的网络上,我们的内部DNS直接指向我们的网络服务器。如果您在我们的网络之外,我们的外部DNS指向我们的反向代理,它通过我们的防火墙将流量转发给网络服务器。
我们有一个网站当然是供应商软件(horray!),基本上如果我们的用户转到http://abc.foo.com服务器发送302重定向代码并将其指向https://login.vendorsite.com
此重定向适用于内部,但如果您从外部连接302重定向永远不会使它成为nginx。他们留在abc.foo.com上,而Nginx则返回200状态。
我们从未遇到过Pound这个问题,pound允许重定向通过而没有问题。
这是我目前的nginx配置:
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;
}
}
答案 0 :(得分:0)
我猜你错过了一些东西,但如果真的那么简单你就可以使用返回
location / {
return 301 http://webserveripaddress;
}
答案 1 :(得分:0)
显然我们不再使用abc.foo.com的内部服务器 他们改变了外部DNS上的DNS条目,并且从未从旧的反向代理中删除信息,因为“它不再那样了”。
所以Nginx正在按预期工作。