nginx是一款优秀的http服务器、MX邮件服务器和反向代理服务器。
nginx代理转发tomcat ,在tomcat中如何获取被nginx所代理的客户端ip而不是nginx自身的ip呢?
nginx.conf 配置 :
location / {
# 最重要的是下面这条配置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Host $host;
proxy_set_header X-Forward-For $remote_addr;
proxy_pass http://127.0.0.1:8090/ ;
}
java web 中获取客户端真实ip
/**
* 获取客户端ip
* @param request
* @return
*/
public static String getClientIp(HttpServletRequest request){
String header = request.getHeader("X-Real-IP");
if(StringUtils.isNoneBlank(header) && !header.equalsIgnoreCase("unkown")){
return header;
}
header = request.getHeader("X-Forwarded-For");
if (StringUtils.isNoneBlank(header) && !header.equalsIgnoreCase("unkown")){
return header;
}
header = request.getHeader("Proxy-Client-IP");
if (StringUtils.isNoneBlank(header) && !header.equalsIgnoreCase("unkown")){
return header;
}
header = request.getHeader("WL-Proxy-Client-IP");
if (StringUtils.isNoneBlank(header) && !header.equalsIgnoreCase("unkown")){
return header;
}
return request.getRemoteAddr();
}
上一篇:测试文章1
下一篇:rabbitMQ-3.6.1安装


阅读排行


Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1
不错不错哟。。。