nginx做反向负载均衡后端服务器获取真实客户端IP

来源:互联网 发布:qq堂能不能再mac上运行 编辑:程序博客网 时间:2024/05/19 18:16

nginx做反向负载均衡后端服务器获取真实客户端IP

Nginx代理站点配置

nginx会在把请求转向后台real-server前把http报头中的ip地址进行替换;这样操作完成后,real-server也需要做一些操作;

upstream serverName {        server  127.0.0.1:8080  weight=1;        }server {    listen       80;    server_name  www.domain.com w-search.domain.com.cn w-member.domain.com.cn;    location / {        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;        proxy_set_header X-Forwarded-Proto  $scheme;        proxy_connect_timeout 5;        proxy_send_timeout 30;        proxy_read_timeout 10;        proxy_pass http://serverName;    }    #FESCO官网 静态站点配置    location /webfile/ {        alias   /data/www/web.domain.com/domain/web/site_1/;        index  index.html;    }}

服务端JAVA代码

public class ClientIPUtils { /**  * 在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地  * 址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,nginx等  * 反向代理软件就不能获取到客户端的真实IP地址了。  * 但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。  * @param request  * @return  */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;       }}
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 母女菊蕾双双开 老妇女树林卖直播 zooskooivizdos zooooskoool 非会员试看验区视频 arabsextube 呃别舔好深水好多阳台 indiansextube 兽王的巨大带倒刺囊袋都进去 8x8x己满十八岁 金梅完1-5集 天天影院 吃饭时穿裙子坐在哥哥腿上h 香港三 我在沙发上11岁小侄女 女被男啪到腿软动图动态gif 在线电影 www.5766t.com www.7xtx.cn 校花被下药摸全身视频 91福试看体验区 高考帮儿子射出来 伊香蕉大片视频 直接插图 musilmporn 日本人23硕码视频 xxxpomvideo 初中生姐弟一起洗澡在线看 无挡36式床式插法视频教程 7755d永久入口 69大片视频免费观看视频 18种妙穴 爸在开车 插妈第一章小杰 美国高清videsoexo 色资源在线yzav0com arabporn 中文字中文字幕在线视频 sexvideo 玩老熟肉 www.8k8ku.com 真人喷液在线播放