CDN或负载均衡或WAF,后端服务器获取真实IP
问题起因:
1. 后端PHP的$_SERVER["REMOTE_ADDR"]个别服务器获取不到真实IP
2. iptables 和 悬镜 等工具,设置IP黑名单不起作用
简单点说,请求到服务器要经过,CDN或负载均衡或WAF等,而它们是以代理的方法访问后端服务器
将IP地址,换成它们的IP地址,所以看到的是 代理proxy的IP,有的到达服务器前面的这些软件工具
是可以设置,显地真实IP,比如阿里云的SLB,所以有的是代理的IP,有的是真实的IP
在来了解一个,X-Forwarded-For
X-Forwarded-For 简称XFF头,是一个 HTTP 扩展头部,用来表示 HTTP 请求端真实 IP。现在已经被很多代理软件采用
它使用,比如CDN或负载均衡或WAF后,它会在HTTP头上加一个 X-Forwarded-For
它的格式,X-Forwarded-For: client1, proxy1, proxy2。
所以如果是PHP获取真实IP,XFF的第一个IP来获取真实IP。
至于,iptables 限制IP,不起作用,只能在nginx或者apache上想办法。
1. nginx realip 或者 apache rpaf 的模块来获取真实IP,然后,自己写脚本在 nginx 或者 apache 限制某些 IP 访问。
2. 现在很多的,CDN或负载均衡或WAF等,黑名单接口,可以获取到非法IP然后脚本过滤掉。
by bin
CDN或负载均衡或WAF,后端服务器获取真实IP的更多相关文章
- NGINX反向代理,后端服务器获取真实IP
一般使用中间件做一个反向代理后,后端的web服务器是无法获取到真实的IP地址. 但是生产上,这又是不允许的,那么怎么解决? 1.在NGINX反向代理服务器上进行修改 2.修改后端web服务器配置文件 ...
- nginx做反向代理负载均衡 Java怎么获取后端服务器获取用户IP
nginx做反向负载均衡,后端服务器获取真实客户端ip 首先,在前端nginx上需要做如下配置: location / proxy_set_hearder host ...
- Nginx负载均衡反向代理 后端Nginx获取客户端真实IP
Nginx 反向代理后,后端Nginx服务器无法正常获取客户端的真实IP nginx通过http_realip_module模块来实现的这需要重新编译,如果提前编译好了就无需重新编译了1,重新编译ng ...
- nginx前端负载,后端apache获取真实IP设置
原文链接: nginx前端负载,后端apache获取真实IP设置 参考文献: 前端Nginx,后端Apache获取用户真实IP地址 按照第二种方法设置不成功! 网站最前端是nginx,做的PROXY ...
- nginx做反向负载均衡,后端服务器获取真实客户端ip(转)
首先,在前端nginx上需要做如下配置: location / proxy_set_hearder host $host; proxy_set_header X-forw ...
- nginx做反向负载均衡,后端服务器获取真实客户端ip
首先,在前端nginx上需要做如下配置: location / proxy_set_header host $host; proxy_set_header X-fo ...
- 【 Tomcat 】后端tomcat获取真实IP
环境: nginx + tomcat nginx.conf 配置: proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_ad ...
- Nginx 反向代理Tomcat服务器获取真实IP问题
1.nginx.conf 配置 修改 Server location配置 增加 proxy_set_header X-Real-IP $remote_addr; #保留代理之前的真实客户端ip pro ...
- 小迪安全 Web安全 基础入门 - 第八天 - 信息打点-系统篇&端口扫描&CDN服务&负载均衡&WAF防火墙
一.获取网络信息-服务厂商&网络架构 1.通过whois查询获取. 2.nmap.goby等扫描工具扫描获取. 3.https://www.netcraft.com/等网站查询获取. 二.服务 ...
随机推荐
- json转换为字典
str---dict ata_dict=json.loads(data)
- stm32L0工程建立(HAL+IAR,无cubemx)
https://files.cnblogs.com/files/CodeWorkerLiMing/STM32HAL%E5%BA%93%E5%AD%A6%E4%B9%A0%E2%80%94%E5%B7% ...
- hiho 1050 树的直径
#1050 : 树中的最长路 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho得到了一棵二叉树玩具,这个玩具是由小球和木棍连接起来的,而在拆拼它的过程中, ...
- German Collegiate Programming Contest 2018
// Coolest Ski Route #include <iostream> #include <cstdio> #include <cstring> #inc ...
- Linux学习-善用判断式
利用 test 指令的测试功能 要检测系统上面某些文件或者是相关的属性时,利用 test 这个指令来工作真是好用得不 得了, 举例来说,我要检查 /dmtsai 是否存在时,使用: [dmtsai@s ...
- 使用docker+tomcat部署jenkins
- HDU 5514 Frogs 欧拉函数
题意: 有\(m(1 \leq m \leq 10^9)\)个石子排成一圈,编号分别为\(0,1,2 \cdots m-1\). 现在在\(0\)号石头上有\(n(1 \leq n \leq 10^4 ...
- dedecms 搬家流程
进入后台 系统 点击数据备份/还原根据新空间数据库版本格式备份 进入网站根目录备份文件夹data\backupdataimagestempletsuploadsplus 进入新空间 重新安装dede程 ...
- 取出列表中第N大的数
array=list(range(10)) random.shuffle(array) print(array) def func1(array,n): d,k={},n while k>0: ...
- luogu2865 [USACO06NOV]路障Roadblocks 次短路
注意:如果是这么个写法,堆数组要开成n+m的. 为什么呢?设想一下从1到2有m条长度递减的路,这岂不是要入队m次-- #include <algorithm> #include <i ...