宝塔面板负载均衡获取不到真实ip

在使用负载均衡时,后端服务器接收到的客户端IP为负载均衡节点IP,而非用户真实IP。

  • 典型场景:网站启用CDN或使用阿里云SLB/Tencent Cloud CLB。
  • 解决方法
方法 说明
修改Nginx配置 获取 X-Forwarded-For 头
启用real_ip模块 将代理IP替换为真实IP
设置信任代理列表 防止伪造XFF头

解决方案对比

方法 适用情况 注意事项
修改Nginx配置 推荐首选方式 需重启服务
使用real_ip指令 更高级控制 需指定可信代理IP段

操作建议

  1. 登录宝塔,在“网站” -> “设置” -> “配置文件”中添加以下配置:

    set_real_ip_from 192.168.0.0/16; real_ip_header X-Forwarded-For; real_ip_recursive on;
  2. 保存后重启Nginx服务。

  3. 在PHP中可通过 $_SERVER['HTTP_X_FORWARDED_FOR'] 获取真实IP。

  4. 日志格式中加入 $http_x_forwarded_for 以记录真实IP。

posted @ 2025-06-17 08:21  Henry王  阅读(56)  评论(0)    收藏  举报