宝塔面板负载均衡获取不到真实ip
在使用负载均衡时,后端服务器接收到的客户端IP为负载均衡节点IP,而非用户真实IP。
- 典型场景:网站启用CDN或使用阿里云SLB/Tencent Cloud CLB。
- 解决方法:
| 方法 | 说明 |
|---|---|
| 修改Nginx配置 | 获取 X-Forwarded-For 头 |
| 启用real_ip模块 | 将代理IP替换为真实IP |
| 设置信任代理列表 | 防止伪造XFF头 |
解决方案对比
| 方法 | 适用情况 | 注意事项 |
|---|---|---|
| 修改Nginx配置 | 推荐首选方式 | 需重启服务 |
| 使用real_ip指令 | 更高级控制 | 需指定可信代理IP段 |
操作建议
-
登录宝塔,在“网站” -> “设置” -> “配置文件”中添加以下配置:
set_real_ip_from 192.168.0.0/16; real_ip_header X-Forwarded-For; real_ip_recursive on; -
保存后重启Nginx服务。
-
在PHP中可通过
$_SERVER['HTTP_X_FORWARDED_FOR']获取真实IP。 -
日志格式中加入
$http_x_forwarded_for以记录真实IP。

扫码添加技术【解决问题】
专注网站运营、网站安全十余年。
专业解决各种疑难杂症,您有任何网站问题都可联系我们技术人员。
本文来自博客园,作者:Henry王,转载请注明原文链接:https://www.cnblogs.com/heneryw/p/18912183

浙公网安备 33010602011771号