PHP项目配置Nginx upstream负载均衡,后端是Java获取不到真实IP
为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:9.6.0
系统版本:
Ubuntu 24.04 LTS (Noble Numbat) x86_64(Py3.7.16)
问题描述:
PHP项目里配置Nginx upstream负载均衡,后端是两个Java springboot应用。PHP项目里配置如下:# 增加代理
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://myappx;
}
后端是Java springboot应用获取不到真实IP,Java代码如下:
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Forwarded-For");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
相关截图(日志、错误):
客户端IP始终是127。0。0。1
页:
[1]