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

PHP项目配置Nginx upstream负载均衡,后端是Java获取不到真实IP

发表在 Linux面板2025-7-19 08:32 [复制链接] 0 88

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

9.6.0
系统版本:

Ubuntu 24.04 LTS (Noble Numbat) x86_64(Py3.7.16)
问题描述:

PHP项目里配置Nginx upstream负载均衡,后端是两个Java springboot应用。PHP项目里配置如下:
  1. # 增加代理
  2.     location / {
  3.       proxy_set_header Host $http_host;
  4.         proxy_set_header X-Real-IP $remote_addr;
  5.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  6.         proxy_set_header X-Forwarded-Proto $scheme;
  7.         
  8.         proxy_pass http://myappx;
  9.     }
复制代码



后端是Java springboot应用获取不到真实IP,Java代码如下:
  1. String ip = request.getHeader("x-forwarded-for");
  2.         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  3.             ip = request.getHeader("Proxy-Client-IP");
  4.         }
  5.         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  6.             ip = request.getHeader("X-Forwarded-For");
  7.         }
  8.         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  9.             ip = request.getHeader("WL-Proxy-Client-IP");
  10.         }
  11.         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  12.             ip = request.getHeader("X-Real-IP");
  13.         }

  14.         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  15.             ip = request.getRemoteAddr();
  16.         }
复制代码


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

客户端IP始终是127。0。0。1
使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

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

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

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

点击联系技术免费分析

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

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