我在 Apache 2.4 前面使用 haproxy 1.5-dev19(在 Ubuntu 12.04 上)。
Haproxy 正在监听端口80
和443
,而 Apache 正在监听——但是,当我从 PHP (5.5)8080
输出时,它显示为,而它应该是。$_SERVER['SERVER_PORT']
80
8080
也就是说,我假设 PHP 可以看到 Apache 服务器端口,但事实似乎并非如此。
我可能忽略了什么?
答案1
在 Apache 配置文件中设置UseCanonicalPhysicalPort On
和UseCanonicalName On
将导致 PHP 报告正确的服务器端口。
haproxy 可能会“欺骗”其转发的请求,以便 PHP 将请求视为端口 80 而不是 8080。