nginx在fastcgi模块中转发真实的后端IP
这篇讲的是在lighttpd反向代理架构下,使用nginx+PHP部署WordPress时,因默认fastcgi_params配置缺陷导致应用无法获取真实客户端IP的故障排查经历。问题具体表现为:当服务器运行在lighttpd后面时,WordPress收不到正确的IP地址,直接导致垃圾评论过滤功能失效,因为系统无法识别评论者的真实来源。 根因在于广泛流传的默认fastcgi_params文件存在两个关键问题。一是其buffer size设置过小,PHP在输出较多error_log时容易崩溃;二是缺少对HTTP_X_FORWARD_FOR和HTTP_CLIENT_IP这两个变量的转发,使得PHP无法从请求头中提取经过代理传递的原始IP信息。在多层代理环境中,这种配置疏漏会使得IP信息在传递过程中丢失,破坏了应用依赖的IP识别逻辑。 作者通过修改并提供一份优化后的fastcgi_params配置解决了这个问题。新配置显著增大了buffer size以避免日志溢出,更重要的是添加了必要的