用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
安全
›
主机安全
›
【安全解决方案】深入剖析:怎样通过CDN获取用户真实IP ...
【安全解决方案】深入剖析:怎样通过CDN获取用户真实IP地址 ...
不到断气不罢休
金牌会员
|
2024-11-22 03:56:54
|
显示全部楼层
|
阅读模式
楼主
主题
969
|
帖子
969
|
积分
2907
一、业务场景
某大型互联网以及电商公司为了防止客户端获取到真实的ip地址,以及到达保护后端业务服务器不被网站攻击,同时又可以让公安要求留存网站日志和排查违法活动,以及打击犯罪的时候,获取不到真实的ip地址,发现网络安全题目对干系公司进行处罚或者警告。
CDN可以实现以下功能:
网站加速
:CDN可以缓存静态网页内容(如HTML、CSS、JavaScript文件)以及图片和视频等静态媒体文件,并将其分发到环球各地的边沿节点,从而加速网页加载速率,提升用户体验。
下载加速
:对于大文件的下载和分发,如游戏安装包、应用更新、手机ROM升级等,CDN通过其分布式节点网络加速下载过程,低落下载时间,提升用户体验。
视频点播和直播加速
:CDN提供高效的流媒体分发,将视频内容快速传输给环球观众,减少视频卡顿和加载时间,提升观看体验。
移动应用加速
:CDN可以为移动APP更新文件(apk文件)分发,移动APP内图片、页面、短视频、UGC等内容的优化提供加速分发结果。
电子商务平台加速
:电商平台在面临高流量和高并发访问时,CDN能够提供网站加速及SSL加速,优化移动设备访问结果,增强网站安全防护本领,进步网站服务的可用性。
游戏加速
:在线游戏对耽误要求较高,CDN通过低落游戏的加载时间和网络耽误,进步游戏的流畅度和稳定性。
安全防护
:CDN提供肯定水平的分布式拒绝服务(DDoS)攻击防护本领,由于CDN的分布式架构,可以对来自恶意请求的攻击进行过滤和缓解,确保正常用户访问不受干扰。
低落资本
:通过CDN可以低落带宽和服务器的资本,进步用户体验的同时,低落网站运营资本。
CDN的应用可以显着提升用户访问速率,低落运营资本,进步源站安全性,低落被黑客攻击的风险,进步网站可靠性,低落故障影响范围。
而对于制造业,CDN可以用于产物展示视频、用户手册和软件更新的快速分发,以及支持远程监控和维护等工业物联网(IIoT)应用,进步数据传输效率和实时性。
在利用CDN服务时,后端服务器获取到的通常是CDN节点的IP地址,而不是用户的真实IP地址。,这就造成了公安要求留存网站日志和排查违法活动,以及打击犯罪的时候,获取不到真实的ip地址。
三、解决方案
所以为了获取用户的真实IP地址,我们可以采取以下几种方法:
1. 利用HTTP请求头部信息:CDN通常会在回源请求的HTTP头部中添加一些特殊的字段,如`X-Forwarded-For`或`X-Real-IP`,用以传递用户的真实IP地址。后端服务器可以通过查抄这些头部字段来获取用户的真实IP。
在Nginx服务器中,可以配置`set_real_ip_from`指令来指定哪些IP地址是可信的署理服务器,并通过`real_ip_header`指令指定从哪个请求头中获取真实的IP地址。配置示例如下:
```nginx
http {
# 设置可信的代理服务器IP
set_real_ip_from 0.0.0.0/0;
# 设置从哪个请求头获取真实IP
real_ip_header X-Forwarded-For;
# 开启递归查找,确保获取到所有经过CDN的IP地址
real_ip_recursive on;
}
复制代码
这样配置后,Nginx会从`X-Forwarded-For`头部中获取第一个非CDN节点的IP地址作为用户的真实IP。
2. 利用CDN提供的API或配置:一些CDN服务提供了API或配置选项,允许你获取用户的真实IP地址。例如,阿里云CDN提供了`Ali-CDN-Real-IP`头部参数,用于记录客户端的真实IP地址。在Nginx配置中,可以设置`proxy_set_header Ali-CDN-Real-IP $remote_addr;`来获取真实IP。
3. 修改后端服务器配置:在后端服务器(如Nginx)的配置文件中,可以添加特定的配置来剖析从CDN传来的请求头,从而获取用户的真实IP。例如,可以设置`fastcgi_param REMOTE_ADDR $http_x_forwarded_for;`来将真实IP传递给后端应用。
4. 利用环境变量:在前端应用中,可以通过环境变量来配置API请求的基地址,从而确保请求能够正确地发送到后端服务器。例如,在React应用中,可以定义环境变量`REACT_APP_API_URL`,并在发送请求时利用这个变量作为API的基地址。
5. 利用配置文件:在前端代码中,可以读取配置文件(如JSON或YAML格式)来获取后端域名,然后利用这个域名进行API请求。
6. 通过服务器署理:在前端开辟服务器(如利用Node.js和Express)上配置署理中间件,将前端请求转发到后端服务器,从而隐藏后端域名并解决跨域题目。
7. 动态天生域名:在某些情况下,可以根据当前环境或用户地理位置等信息动态天生后端域名。
通过上述方法,可以有用地配置CDN背景,使后端服务器能够获取到前端用户的真实请求地址。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
不到断气不罢休
金牌会员
这个人很懒什么都没写!
楼主热帖
Spark的一些重要概念
从SAP ECC升级到SAP S4HANA, 几个Key P ...
手绘地图深度解析:类型、风格、功能、 ...
数据库设计员工管理系统
【Redis高手修炼之路】初学Redis——概 ...
MySQL触发器
19.HVV溯源
物联网无线数传通信模块设备常见的几种 ...
【高效学数据库】第一范式、第二范式、 ...
用Python计算从1到500之间偶数的和 ...
标签云
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表