nginx代理,Java获取访问url
2017-11-14 14:10
225 查看
首先,在前端nginx上需要做如下配置:
location /
proxy_set_hearder host $host;
proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header X-real-ip $remote_addr;
};
nginx会在把请求转向后台real-server前把http报头中的ip地址进行替换;这样操作完成后,real-server也需要做一些操作;
url = request.getRequestUrl();
ip:
public static String getClientIp(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
//String ip = request.getHeader("X-real-ip");
logger.debug("x-forwarded-for = {}", ip);
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
logger.debug("Proxy-Client-IP = {}", ip);
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
logger.debug("WL-Proxy-Client-IP = {}", ip);
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
logger.debug("RemoteAddr-IP = {}", ip);
}
if(StringUtils.isNotBlank(ip)) {
ip = ip.split(",")[0];
}
return ip;
}
location /
proxy_set_hearder host $host;
proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header X-real-ip $remote_addr;
};
nginx会在把请求转向后台real-server前把http报头中的ip地址进行替换;这样操作完成后,real-server也需要做一些操作;
url = request.getRequestUrl();
ip:
public static String getClientIp(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
//String ip = request.getHeader("X-real-ip");
logger.debug("x-forwarded-for = {}", ip);
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
logger.debug("Proxy-Client-IP = {}", ip);
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
logger.debug("WL-Proxy-Client-IP = {}", ip);
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
logger.debug("RemoteAddr-IP = {}", ip);
}
if(StringUtils.isNotBlank(ip)) {
ip = ip.split(",")[0];
}
return ip;
}
相关文章推荐
- Java访问网络url,获取网页的html代码
- java设置代理访问URL
- java从request中获取当前访问是从哪个完整的url来的
- java访问url获取json数据
- java获取用户访问的真实IP地址和代理IP
- JAVA访问url获取结果
- httpclient开启代理,获取java中请求的url
- java设置代理访问URL
- 通过代理实现Java代码访问指定URL
- java获取nginx反向代理后浏览器的真实ip
- java 获取之前访问的url
- Java request获取客户端ip,各种apach,nginx等代理后依然正确
- java,jsp获取上一个访问页面URL
- 双层nginx代理获取真实访问ip
- Java中获取完整的访问url
- java离request获取当前从访问完成url至
- 【java】服务器端获取用户访问的URL/用户IP/PC还是移动端
- 在java中获取URL的域名或IP与端口
- CentOS6.3搭建Nginx代理访问MongoDB GridFS图片资源(已经验证-不错)
- 关于nginx反向代理后获取不到客户端的ip地址问题