Nginx 和重定向

Nginx 和重定向

我有nginx用作Apache服务器代理的。nginx监听<public_ip>:8087

server {
    listen       8087;
    server_name  leodev  alias  another.alias;
    location / {
       proxy_set_header X-Real-IP  $remote_addr;
       proxy_set_header          X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Host $host;
       proxy_pass http://127.0.0.1:8089;
       port_in_redirect off;
    }

}

当 Web 应用程序 (CakePhp) 进行重定向时,就会发生问题。如果应用程序重定向到'/',我在Network浏览器日志中看到的是重定向到 而不是重定向到<public_ip>:8087。由于没有服务器监听端口 :80,因此连接超时。

使用 Apache 没有问题。我是否缺少某些配置?

答案1

nginx您可以使用指令从您的 Web 应用程序修改重定向proxy_redirect

您可能需要进行实验才能找到正确的配置,但您可以拥有多条规则。

类似这样的事情可能会有用:

proxy_redirect http://$host/ http://$host:8087/;

但这实际上取决于您的 Web 应用程序的具体响应。

另外,不确定你为什么port_in_redirect off;在那个位置。

这个文件了解详情。

相关内容