[Java] 获取客户端ip地址
来源:互联网 发布:文件管理网站源码 编辑:程序博客网 时间:2024/06/04 17:42
在做日志模块的时候,需要知道访问客户端的ip地址。起初用了
request.getRemoteAddr();
当时是在本地测试,取到的地址都是127.0.0.1或者是0:0:0:0:0:0:0:1。都是本机地址,一个是ipv4一个是ipv6,没在意。后来部署到阿里云之后发现也是同样的问题。开始怀疑是不是方法写的有问题。于是又百度到了新的方法。
/**** 获取客户端IP地址;这里通过了Nginx获取;X-Real-IP,* @param request* @return*/public static String getClientIP(HttpServletRequest request) {String fromSource = "X-Real-IP";String ip = request.getHeader("X-Real-IP");if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("X-Forwarded-For");fromSource = "X-Forwarded-For";}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");fromSource = "Proxy-Client-IP";}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");fromSource = "WL-Proxy-Client-IP";}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();fromSource = "request.getRemoteAddr";}appLog.info("App Client IP: "+ip+", fromSource: "+fromSource);return ip;}
还是同样的结果。后来想到服务器配的是nginx + tomcat。nginx又是方向代理。监听80端口,映射本机tomcat的8080端口。在tomcat看来都是本地的80端口访问的,所以ip是localhost。于是在网上查找到了结果。nginx也需要配置几行,才能得到真实的ip地址。
location / {proxy_pass http://127.0.0.1:8080/myweb/;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
参考链接:
http://greatwqs.iteye.com/blog/1946982
阅读全文
0 0
- java 获取客户端ip地址
- Java获取客户端IP地址
- java获取客户端IP地址
- Java获取客户端IP地址
- Java 获取客户端IP地址
- Java获取客户端IP地址
- java获取客户端IP地址
- java--获取客户端ip地址
- java获取客户端IP地址
- java 获取客户端IP地址
- java获取客户端ip地址
- java获取客户端ip地址
- Java 获取客户端IP地址
- java 获取客户端IP地址
- java获取客户端IP地址
- [Java] 获取客户端ip地址
- Java如何获取客户端真实IP地址
- Java获取真实客户端IP地址
- 静态数组顺序表之二
- http中URL编码
- 2018年起浙江省信息技术教材编程语言将会从vb更换为Python
- 51Nod 1052 思维 + 动态规划
- go语言:数组指针与指针数组
- [Java] 获取客户端ip地址
- 十分钟万台服务器部署能力,探秘阿里双十一弹性扩容背后的技术故事
- 又有程序员跳楼了 我们是有多累?
- c语言的演变
- perl exe执行提示缺少文件解决方法
- [Java] char short 区别
- 全栈必备 Java基础
- [NLP] 秒懂词向量Word2vec的本质 穆文
- 记一次网易前端实习面试