我有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;
在那个位置。
看这个文件了解详情。