Nginx抢购限流配置实现解析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,因业务需求经常会有抢购业务,因此需要在负载均衡前端进行限流错误。本文同样也适用于防止CC. limit_req_zone $server_name zone=sname:10m rate=1r/s;
千家信息网最后更新 2025年12月03日Nginx抢购限流配置实现解析
因业务需求经常会有抢购业务,因此需要在负载均衡前端进行限流错误。本文同样也适用于防止CC.
limit_req_zone $server_name zone=sname:10m rate=1r/s; #限制服务器每秒只能有一次访问成功 #limit_req_zone $binary_remote_addr zone=one:3m rate=1r/s; #限制IP,每秒只能访问一次 #limit_req_zone $binary_remote_addr $uri zone=two:3m rate=1r/s; #限制IP和路径不带参数, #limit_req_zone $binary_remote_addr $request_uri zone=thre:3m rate=1r/s; #限制IP和带参数的路径 server { listen 80; server_name www.abc.com; location / { include host/proxy.cnf; proxy_pass http://backend; } location /api/createOrder { limit_req zone=sname; #不带突发,只能有一次正常请求 limit_req_status 503; #设置返回的状态码是503 #limit_req zone=sname burst=5 nodelay; #最大并发是5,并且实时处理 include host/proxy.cnf; proxy_pass http://backend; error_page 503 =200 /50x.html; #这里很重要,可以将错误的状态码503,返回结果的时候是200 } location = /50x.html { if ($http_user_agent ~* "mobile|android|iPhone|iphone|ios|iOS"){ #default_type application/json; return 200 '{"msg": "活动过于火爆,请稍后重试!","data": {},"code": -1}'; #设置移动端返回错误的信息显示 } root html; #如果是PC端返回一个HTML页面 } }重点: 正常情况下,如果设置了限流,返回是503的状态码,这对于移动端来说即便是你返回JSON数据但是客户端时不认的,这个时候巧妙的通过 error_page 403 =200 /50x.html;将状态码设置为200
以上只是使用了ngx_limit_req_module,同时也可以使用ngx_limit_conn_module模块。
以上参考: https://gist.github.com/simlegate/75b18359316cc33d8e20
特别是一些咨询类网站如果备爬虫盯上,服务器可能会被爬虫给干死(小网站就是这样)
那么怎么办呢,我们可以使用变量去做
#全局配置limit_req_zone $spider zone=spider:60m rate=200r/m; #限制爬虫每分钟只能跑200次#某个server中limit_req zone=spider burst=5 nodelay;if ($http_user_agent ~* "spider|bot") { set $spider $http_user_agent; #设置变量,进入这里的就进行限速}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
限制
状态
爬虫
错误
业务
参数
变量
就是
时候
服务器
网站
路径
服务
移动
配置
巧妙
最大
重要
均衡
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql数据库书籍哪个比较好
moto更新服务器崩溃
怎么创建school数据库
升腾服务器一般多少钱
河北交友软件开发哪家便宜
网络安全部署分解会
delphi数据库同步
美国软件开发中学
2021驾考题库数据库
民航飞控软件开发
什么语言可以连接数据库
把前台数据传到后台数据库
珠海专业软件开发要多少钱
国家网络安全总部
什么是军事网络安全
服务器拿来干嘛的
苹果手机软件开发
海口软件园网络安全招聘
三级锁模式数据库
服务器抓包分析工具
多线程处理数据库数据库
jsp访问数据库实例
企业网络安全安装
电商软件开发行业
武威网络安全工程师的一天
天谕不同服务器可以联机吗
网络安全教学会议照片
协同管理不能连接到服务器
被动数据库
服务器抓包分析工具