获取客户端用户真实 IP 地址
为什么80%的码农都做不了架构师?>>>
现在需要获取请求到服务器的客户端 IP,一般有这些方式。
- remote_addr:TCP 底层的会话 IP 地址,socket 连接的 IP 地址,不可伪造。但经过 Nginx 代理时会重置为 Nginx 的 IP,因为 Nginx 重新发起了和服务器的 TCP 连接。
- X-Real-IP:Nginx 中可以配置,将上一级的 remote_addr 设置为 X-Real-IP。
- X-Forwarded-For:记录完整的代理链路,可以伪造。
可以看出为了兼容有 Nginx 代理的场景,使用 X-Forwarded-For 方式是做好的。这种方式也需要在 Nginx 中进行配置。
Nginx 配置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
参考
从限流谈到伪造 IP
获取用户 IP 指引
获取用户 IP 的正确姿势
Nginx 四层、七层负载均衡的区别
ip-transparency-direct-server-return-nginx-plus-transparent-proxy
转载于:https://my.oschina.net/lvyi/blog/3045507
获取客户端用户真实 IP 地址相关推荐
- JavaWeb 获取客户端的真实IP地址
通常我们在JavaWeb中获取客户端IP地址只需要使用request.getRemoteAddr();方法即可 如果前端使用了Nginx等反向代理的话,我们使用request.getRemoteAdd ...
- Java如何获取客户端主机真实IP地址
项目开发中,小编遇到一种需求,就是将系统项目与某台主机的IP地址绑定,让该系统只能在某台主机上使用,不要问小编为什么,我也是第一次遇到这么奇怪的需求,当然也不要问小编为什么不使用权限控制,现在的权限控 ...
- Java获取请求客户端的真实IP地址
整理网友的材料,最后有源码,亲测能解决所有java获取IP真实地址的问题 整理的这里: 1.链接1 2.链接2 JSP里,获取客户端的IP地址的方法是: request.getRemoteAddr() ...
- 多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...
- 穿透代理获取用户真实IP地址
文章目录 一.场景 二.方法 1.微信官方方法 (1)没有代理 (2)有代理 2.非官方方法 (1)代码 (2)说明 (3)补充 一.场景 在对接微信H5支付API时,有一关键步骤是获取到用户的真实I ...
- PHP获取用户真实IP地址
PHP获取用户真实IP地址 <?phpfunction getRealIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SER ...
- java获取用户真实IP地址
/*** 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址.* 可是,如果通过了多级反向代理的话,X-Forwarded ...
- CDN下nginx获取用户真实IP地址
为什么80%的码农都做不了架构师?>>> 随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能 ...
- 如何获取客户端的真实IP
原文地址:http://blog.csdn.net/zhangyaoming2004/article/details/6792695 问题引出: <hr/> 在JSP里,获取客户端的IP地 ...
- PHP获取客户端的真实IP
REMOTE_ADDR只能获取访问者本地连接中设置的IP,如中南民族大学校园网中自己设置的10.X.XXX.XXX系列IP,而这个函数获取的是局域网网关出口的IP地址, 如果访问者使用代理服务器,将不 ...
最新文章
- 10万元奖金助力AI加速药物研发!小分子预测大赛来啦
- python拿来干嘛-python可以用来干什么?
- 14. Java基础之泛型
- 互联网项目中MySQL应该选什么事务隔离级别
- 制作U盘启动LINUX安装(Ubuntu12.04)
- win8 iis8 asp.net 图片访问需登录
- Java常见排序算法之直接选择排序
- php设计模式之桥接模式
- oracle语言的分类及其常见的系统函数
- CCF201703-5 引水入城(100分题解链接)
- photorec_如何在Linux / Ubuntu中使用PhotoRec恢复已删除的文件
- ECharts常用图表(柱状图)
- PLC 有哪几种常用编程语言
- 电视制式 NTSC PAL SECAM
- rclone 实现 GoogleDrive 同步至 OneDrive
- 移动用户体验设计:iOS APP体验设计
- 手机PIN、PUK码之谜
- html网页改兼容模型,让DIV+CSS兼容所有浏览器
- 阿里云备案要几天时间?
- java产生随机数的三种方式
热门文章
- java 骰子游戏_蓝桥杯-骰子游戏-java
- 通过函数指针实现四则运算
- No module named ‘wrapt‘
- 19范数理论及其应用
- github第一次使用--创建hello-world
- 2020 恒生电子 面经
- SRNTT:Image Super-Resolution by Neural Texture Transfer
- Logistic Regression分类器与softmax分类器
- MATLAB 数据显示格式
- java 转换成maven项目_java – 将现有项目转换为maven项目