nginx后的tomcat获取真实用户ip
2012-05-02 16:12
483 查看
目前大部分获取ip的方式:beat.getRequest().getRemoteAddr()
但是,如果通过nginx反向代理的话,就获取不到真实ip,是获取的nginx的ip
需要:添加 proxy_set_header X-Real-IP $remote_addr;
添加一个表头声明
然后这样取
但是,如果通过nginx反向代理的话,就获取不到真实ip,是获取的nginx的ip
需要:添加 proxy_set_header X-Real-IP $remote_addr;
server { listen 80; server_name price.kuche.com; location / { root html; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://price.kuche.com:8053; } }
添加一个表头声明
然后这样取
public static String getRemoteAddrIp(HttpServletRequest request) { String ipFromNginx = getHeader(request, "X-Real-IP"); System.out.println("ipFromNginx:" + ipFromNginx); System.out.println("getRemoteAddr:" + request.getRemoteAddr()); return StringUtil.isEmpty(ipFromNginx) ? request.getRemoteAddr() : ipFromNginx; } private static String getHeader(HttpServletRequest request, String headName) { String value = request.getHeader(headName); return !StringUtils.isBlank(value) && !"unknown".equalsIgnoreCase(value) ? value : ""; }
相关文章推荐
- nginx后的tomcat获取真实用户ip
- nginx后的tomcat获取真实用户ip
- nginx后的tomcat获取真实用户ip
- nginx做静态服务器tomcat中获取不到请求用户的真实ip
- tomcat 获取Nginx的真实用户IP
- nginx代理tomcat后,tomcat获取真实(非proxy,非别名)nginx服务端ip端口的解决方案
- 用nginx转发请求tomcat 如何配置访问日志获取真实ip
- nginx 如何配置来获取用户真实IP
- 多级代理下Nginx获取真实用户IP地址的总结
- nginx代理获取用户真实ip
- 用nginx转发请求tomcat 如何配置访问日志获取真实ip
- nginx与tomcat组合使用时获取客户端真实IP
- 多层nginx代理tomcat获取客户端真实ip
- 让后端tomcat日志获取真实的IP,而不是nginx 服务器的IP
- Haproxy做代理,后端nginx获取真实用户IP
- nginx前端,tomcat后端服务器获取客户的真实IP,包括tomcat访问日志获取真实IP的配置
- 使用nginx做反向代理,后端tomcat日志获取真实ip解决方案
- X-Forwarded-For 负载均衡 7 层 HTTP 模式获取来访客户端真实 IP 的方法(IIS/Apache/Nginx/Tomcat)
- Nginx在使用varnish作缓存情况下获取用户真实ip
- 多级代理下Nginx获取真实用户IP地址的总结