小编MDr*_*tte的帖子

通过 nginx 和 varnish 获取正确的 SERVER_PORT 到 php-fpm

目标是让 PHP 知道正确的面向 Web 的 server_port。

设置是:

nginx 在端口 443 上反向代理以在端口 80 上反向代理到端口 8008 上的 nginx 并运行 php-fpm 作为 fastcgi。

达到 80 或 443 都可以正常工作,除了 $_SERVER['SERVER_PORT'] 在 php 中默认总是显示 8008。我可以对 fastcgi_param server_port 进行硬编码,但它仅适用于 80 或 443,但不能同时适用于两者。

# default
fastcgi_param  SERVER_PORT        $server_port;
# harcode to 80
fastcgi_param  SERVER_PORT        80;
Run Code Online (Sandbox Code Playgroud)

如何获得可用于 php 的正确的面向外部的服务器端口?

nginx varnish reverse-proxy fastcgi php-fpm

5
推荐指数
1
解决办法
6875
查看次数

标签 统计

fastcgi ×1

nginx ×1

php-fpm ×1

reverse-proxy ×1

varnish ×1