Nginx透传获取客户端IP地址
来源:互联网 发布:js开发工具 编辑:程序博客网 时间:2024/05/16 17:11
nginx.conf配置:
- 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;
- }
myweb后端获取方式:
- /***
- * 获取客户端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;
- }
参考: http://www.iteye.com/topic/1124492
0 0
- Nginx透传获取客户端IP地址
- nginx转发获取真实客户端IP地址
- nginx下获取客户端真实IP地址
- 获取客户端IP地址
- 获取客户端ip地址
- 获取客户端IP地址
- 客户端获取IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端ip地址
- 获取客户端ip地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- .Net T4 模板 实例(一)
- 用GDB调试程序(六)
- JAVA反射机制
- tornado教程资源
- android读取keystore证书文件
- Nginx透传获取客户端IP地址
- Scala 自学笔记2_类
- Mongo-Hadoop
- C++拾遗--多线程:C语言多线程的引入
- Myql 的严格模式与松散模式设置
- javascript操作字符串函数
- Python单元测试——深入理解unittest
- jQuery UI vs EasyUI
- C++拾遗--引用(左值引用、右值引用)