目标是让 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 的正确的面向外部的服务器端口?