前面用haproxy连接Apache,报SERVER_PORT错误

前面用haproxy连接Apache,报SERVER_PORT错误

我在 Apache 2.4 前面使用 haproxy 1.5-dev19(在 Ubuntu 12.04 上)。

Haproxy 正在监听端口80443,而 Apache 正在监听——但是,当我从 PHP (5.5)8080输出时,它显示为,而它应该是。$_SERVER['SERVER_PORT']808080

也就是说,我假设 PHP 可以看到 Apache 服务器端口,但事实似乎并非如此。

我可能忽略了什么?

答案1

在 Apache 配置文件中设置UseCanonicalPhysicalPort OnUseCanonicalName On将导致 PHP 报告正确的服务器端口。

haproxy 可能会“欺骗”其转发的请求,以便 PHP 将请求视为端口 80 而不是 8080。

相关内容