当前位置:论坛首页 > Linux面板 > 讨论

【已解答】宝塔nginx获取不到真实IP

发表在 Linux面板2023-7-15 00:45 [复制链接] 1 6623

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:8.0.0


系统版本:Ubuntu 18.04.6 LTS x86_64(Py3.7.8) 


问题描述:“Nginx获取不到真实IP


相关截图(日志、错误):







RT

在nginx前面套了一层雷池WAF,经测试,WAF会在header中添加X-Forwarded-For字段,会带上客户端真实IP
但是nginx获取到的还是waf的地址,也就是127.0.0.1

经查阅资料,说是nginx默认的log_format需要调整下,

  1. log_format combined '$remote_addr-$remote_user [$time_local]'
  2. ‘"$request"$status $body_bytes_sent’
  3. ‘"$http_referer" "$http_user_agent"’
复制代码
调整为
  1. log_format mylogformat '$http_x_forwarded_for_$remote_user [$time_local]'
  2. ‘"$request"$status $body_bytes_sent’
  3. ‘"$http_referer" "$http_user_agent"’
复制代码


可是我没有发现在哪里调整,默认的nginx配置文件 /www/server/nginx/conf/nginx.conf 里并没有自带的logfomat

请问下这个需要怎么设置?
使用道具 举报 只看该作者 回复
发表于 2023-7-15 12:34:11 | 显示全部楼层
您好,通常在Nginx配置文件中的http块内添加类似于real_ip_header和set_real_ip_from的指令来实现。例如:
  1. http {
  2.     ...
  3.     set_real_ip_from 127.0.0.1;
  4.     real_ip_header X-Forwarded-For;
  5.     ...
  6. }
复制代码

添加后重启下nginx服务看看是否正常,如还是未能获取到,请您联系下提供WAF的运营商核实下获取真实IP的问题
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表