云端建站快车视频直播间

张小明 2026/1/12 21:30:54
云端建站快车,视频直播间,建设门户网站的意见和建议,wordpress数据转移当用户访问网站时#xff0c;在使用CDN或SLB的情况下#xff0c;访问链路通常是这样的#xff1a; 用户浏览器 → CDN节点/SLB节点 → 源服务器在这种情况下#xff0c;源服务器接收到的请求来源IP实际上是CDN或SLB节点的IP#xff0c;而不是用户的真实IP。如果我们直接基…当用户访问网站时在使用CDN或SLB的情况下访问链路通常是这样的用户浏览器 → CDN节点/SLB节点 → 源服务器在这种情况下源服务器接收到的请求来源IP实际上是CDN或SLB节点的IP而不是用户的真实IP。如果我们直接基于这个IP进行限流就会出现以下问题限制了CDN/SLB节点而非真实用户无法对真实的恶意用户进行有效拦截限流策略失效二、普通限流配置在没有CDN/SLB的简单场景下我们可以直接基于$binary_remote_addr进行限流## 以用户IP地址作为Key每个IP地址最多有50个并发连接 limit_conn_zone $binary_remote_addr zoneTotalConnLimitZone:10m; limit_conn TotalConnLimitZone 50; limit_conn_log_level notice; ## 以用户IP地址作为Key每个IP地址每秒处理10个请求 limit_req_zone $binary_remote_addr zoneConnLimitZone:10m rate10r/s; limit_req_log_level notice; ## 具体服务器配置 server { listen 80; location ~ \.php$ { ## 最多5个排队由于每秒处理10个请求5个排队 ## 你一秒最多发送15个请求过来再多就直接返回503错误给你了 limit_req zoneConnLimitZone burst5 nodelay; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }这种方式适用于用户直接访问源服务器的场景但对于经过CDN/SLB代理的情况则不再适用。三、CDN/SLB模式下的限流解决方案1. 理解X-Forwarded-For头部当CDN/SLB代理服务器将用户请求转发到后端服务器时会在HTTP头中加入记录X-Forwarded-For: 用户IP, 代理服务器1-IP, 代理服务器2-IP, ...经过多层代理后用户的真实IP在第一个位置后面会跟一串中间代理服务器的IP地址。2. 获取真实IP的配置http { ## 获取原始用户的真实IP地址 map $http_x_forwarded_for $clientRealIp { default $remote_addr; ~^(?PfirstAddr[0-9\.]),?.*$ $firstAddr; } ## 设置IP白名单对内部的IP不限制 map $clientRealIp $limit { default $clientRealIp; xx.xx.xx.xx ; } ## 以真实IP为单位限制请求数并返回429状态 limit_req_status 429; limit_req_zone $limit zoneConnLimitZone:20m rate5r/s; limit_req_log_level notice; ## 以真实IP为单位限制该IP的并发连接数并返回429状态 limit_conn_status 429; limit_conn_zone $limit zoneTotalConnLimitZone:20m; limit_conn TotalConnLimitZone 100; limit_conn_log_level notice; ## 以访问域名为单位限制总并发链接数 limit_conn_zone $server_name zoneSumConnLimitZone:20m; } ## 具体Server配置 server { listen 80; location ~ \.php$ { ## 限制总并发连接数 limit_conn SumConnLimitZone 10000; ## 最多5个排队由于每秒处理10个请求5个排队 ## 你一秒最多发送15个请求过来再多就直接返回429错误给你了 limit_req zoneConnLimitZone burst5 nodelay; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }3. 配置说明map指令用于从X-Forwarded-For头部提取用户真实IP白名单机制对特定IP如内部服务器不进行限流三层限流策略基于真实IP的请求频率限制基于真实IP的并发连接数限制基于域名的总并发连接数限制四、验证方法1. 白名单测试对于白名单内的服务器进行压测应该全部通过。2. 非白名单测试对于不在白名单内的IP最多允许通过105个请求其余部分应该返回429错误。3. 压测工具CentOS一般自带siege压测工具yum -yinstallsiege# 使用方法siege -c3-r10-b https://xxxx.xx.com/api/xxxx# -c 3 表示3个用户# -r 10 表示访问10次# 以上表示3个用户每个用户访问10次请求共计30次五、调试技巧Echo模块为了验证配置是否正确可以使用Nginx的echo模块进行调试1. 集成Echo模块cd/usr/local/src# 下载echo模块并解压wgethttps://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gztarzxvf v0.61.tar.gz# 下载nginx并解压wgethttp://nginx.org/download/nginx-1.12.2.tar.gztar-xzvf nginx-1.12.2.tar.gzcdnginx-1.12.2/# 查看当前nginx的编译参数/usr/local/nginx/sbin/nginx -V# 在旧的编译参数基础上新增【--add-module/echo模块的解压路径】参数开始编译./configure --prefix/usr/local/nginx/nginx --add-module/usr/local/src/echo-nginx-module-0.61# make编译make-j2# 平滑升级nginxmv/usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.oldcp-f objs/nginx /usr/local/nginx/sbin/makeupgrade2. Echo使用示例server { listen 80; server_name yourdomain.com; ## 以下新增规则 ## 当用户访问 /ip 的时候我们输出 $clientRealIp 和 $limit 变量 ## 看看这个变量值是不是真的 用户源IP 地址 location /ip { echo $clientRealIp; echo $limit; } }通过访问http://xxx.xxx.cn/ip可以验证获取到的IP是否为用户真实IP。六、最佳实践建议合理设置限流参数根据业务实际情况调整请求频率和并发连接数限制维护白名单将内部服务器、合作伙伴服务器等加入白名单监控告警建立完善的监控体系及时发现异常流量渐进式部署先在测试环境验证再逐步推广到生产环境定期评估根据业务发展定期评估和调整限流策略结语通过合理配置Nginx的限流模块即使在复杂的CDN/SLB架构下我们也能有效识别用户真实IP并实施精准的访问控制。这不仅能够保护服务器免受恶意攻击还能确保正常用户的访问体验。在实际应用中需要根据具体的业务场景和安全要求来调整相关参数以达到最佳的防护效果。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

企业网站 生成html羽毛球赛事在哪看

OpenMS:专业质谱数据分析工具库完全指南 【免费下载链接】OpenMS The codebase of the OpenMS project 项目地址: https://gitcode.com/gh_mirrors/op/OpenMS 🎯 全面掌握现代质谱数据分析的必备工具 - OpenMS是一个功能强大的开源C库&#xff0c…

张小明 2026/1/2 18:40:40 网站建设

打开百度网站qq表白链接

5分钟搞定MihoyoBBSTools的stoken配置:新手零基础教程 【免费下载链接】MihoyoBBSTools Womsxd/AutoMihoyoBBS,米游社相关脚本 项目地址: https://gitcode.com/gh_mirrors/mi/MihoyoBBSTools MihoyoBBSTools是一款强大的米游社自动化签到工具&…

张小明 2026/1/2 12:48:56 网站建设

哪个网站推广好嘉兴做网站

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 生成交互式MySQL入门教程:1.分步可视化启动流程;2.嵌入式Linux终端模拟器;3.实时错误诊断提示;4.包含测试你的理解小测验&#xff1b…

张小明 2026/1/7 2:22:02 网站建设

传统企业如果建立网站企业做网站优劣

3小时快速搭建:OpenMir2传奇服务器完整实战指南 【免费下载链接】OpenMir2 Legend of Mir 2 Game server 项目地址: https://gitcode.com/gh_mirrors/op/OpenMir2 想要重温经典传奇2的怀旧体验?OpenMir2开源框架让你轻松搭建专属游戏服务器&#…

张小明 2026/1/3 12:14:11 网站建设

汽车之家网站系统是什么做的千万别学交互设计

51单片机驱动LCD1602只亮不显示?一文搞懂从硬件到代码的全链路排查你有没有遇到过这种情况:给LCD1602通上电,背光亮了,心里一喜——有戏!可等了半天,屏幕上空空如也,一个字符都不出来&#xff1…

张小明 2026/1/11 0:27:19 网站建设

高端学校网站建设蓝色网站建设

目录一、初识达梦:国产数据库的崛起二、基础操作实践:从安装到基本管理1. 数据库安装与配置2. 数据库基本管理命令三、SQL开发体验:兼容与创新1. 数据定义语言(DDL)2. 数据操作语言(DML)3. 查询优化技巧四、高级特性探索1. 分区表管理2. 存储…

张小明 2026/1/9 14:34:46 网站建设