如何解决使用nginx获取IP地址都是127.0.0.1 的问题
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍了如何解决使用nginx获取IP地址都是127.0.0.1 的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。获取i
千家信息网最后更新 2025年11月08日如何解决使用nginx获取IP地址都是127.0.0.1 的问题
这篇文章主要介绍了如何解决使用nginx获取IP地址都是127.0.0.1 的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
获取ip工具
import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import javax.servlet.http.HttpServletRequest;/** * IP地址 * * @date 2020年3月6日 下午12:57:02 */@Slf4jpublic class IPUtils { /** * 获取IP地址 * * 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址 * 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址 */ public static String getIpAddr(HttpServletRequest request) { String ip = null; try { ip = request.getHeader("x-forwarded-for"); if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (StringUtils.isEmpty(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_CLIENT_IP"); } if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } } catch (Exception e) { log.error("IPUtils ERROR ", e); } //使用代理,则获取第一个IP地址 if(StringUtils.isEmpty(ip) && ip.length() > 15) { if(ip.indexOf(",") > 0) { ip = ip.substring(0, ip.indexOf(",")); } } return ip; } }如果你使用了nginx 则获取到的ip都会是127.0.0.1
在代理中加入如下配置proxy_set_header x-forwarded-for $remote_addr;
server { listen 80; server_name api.qimen.pro; # 服务器文件上传大小限制 client_max_body_size 10M; location / { proxy_pass http://gymserver; proxy_set_header x-forwarded-for $remote_addr; } }感谢你能够认真阅读完这篇文章,希望小编分享的"如何解决使用nginx获取IP地址都是127.0.0.1 的问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
地址
篇文章
代理
问题
有效
价值
兴趣
同时
大小
字符
字符串
工具
文件
更多
朋友
服务器
知识
编带
而是
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苏州市软件开发招聘
ios无法打开移动数据库
软件开发担当什么角色
阿里的云服务器安全吗
网络安全浙大网新
数据库设计内容
物联网工程网络技术试卷
桃源软件开发学校
数据库技术水平
网络安全科工作职责
grant是数据库
小学网络安全知识竞赛简报
龙岗租房网络安全
数据库3维表
http网页代理服务器
我的世界大神极限生存服务器
鹏程杯网络安全竞赛
网络安全信息小组成员名单
淘宝怎么查看服务器
如何提升服务器防护
网络技术公司翻译
pg数据库怎么看函数
计量经济学数据库
qgis连接公网数据库
为了提高软件开发效率开发
更新数据库记录用什么命令
漳州市网络安全沙画
我的世界服务器怎么清除角色数据
网络安全培训机构哪个好一点
找中小学生家庭教育与网络安全