- 浏览: 623433 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
The ngx_http_limit_req_module module (0.7.21) is used to limit the request processing rate per a defined key, in particular, the processing rate of requests coming from a single IP address. The limitation is done using the “leaky bucket” method.
Example Configuration
参考Nginx官网:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone
百度蜘蛛抓取量骤增,导致服务器负载很高。最终用nginx的ngx_http_limit_req_module模块限制了百度蜘蛛的抓取频率。每分钟允许百度蜘蛛抓取200次,多余的抓取请求返回503。
nginx的配置:
#全局配置
limit_req_zone $anti_spider zone=anti_spider:60m rate=200r/m;
#某个server中
limit_req zone=anti_spider burst=5 nodelay;
if ($http_user_agent ~* "baiduspider") {
set $anti_spider $http_user_agent;
}
参数说明:
指令limit_req_zone 中的rate=200r/m 表示每分钟只能处理200个请求。
指令limit_req 中的burst=5 表示最大并发为5。即同一时间只能同时处理5个请求。
指令limit_req 中的 nodelay 表示当已经达到burst值时,再来新请求时,直接返回503
IF部分用于判断是否是百度蜘蛛的user agent。如果是,就对变量$anti_spider赋值。这样就做到了只对百度蜘蛛进行限制了。
详细的参数说明,可以查看官方文档。
http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone
这个模块对请求的限制采用了漏桶算法。
漏桶算法详见 http://baike.baidu.com/view/2054741.htm
相关代码请查看nginx源码文件 src/http/modules/ngx_http_limit_req_module.c
代码的核心部分是ngx_http_limit_req_lookup 方法。
参考:http://www.bo56.com/%E4%BD%BF%E7%94%A8nginx%E9%99%90%E5%88%B6%E7%99%BE%E5%BA%A6%E8%9C%98%E8%9B%9B%E7%9A%84%E9%A2%91%E7%B9%81%E6%8A%93%E5%8F%96/
Example Configuration
引用
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
...
server {
...
location /search/ {
limit_req zone=one burst=5;
}
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
...
server {
...
location /search/ {
limit_req zone=one burst=5;
}
参考Nginx官网:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone
百度蜘蛛抓取量骤增,导致服务器负载很高。最终用nginx的ngx_http_limit_req_module模块限制了百度蜘蛛的抓取频率。每分钟允许百度蜘蛛抓取200次,多余的抓取请求返回503。
nginx的配置:
#全局配置
limit_req_zone $anti_spider zone=anti_spider:60m rate=200r/m;
#某个server中
limit_req zone=anti_spider burst=5 nodelay;
if ($http_user_agent ~* "baiduspider") {
set $anti_spider $http_user_agent;
}
参数说明:
指令limit_req_zone 中的rate=200r/m 表示每分钟只能处理200个请求。
指令limit_req 中的burst=5 表示最大并发为5。即同一时间只能同时处理5个请求。
指令limit_req 中的 nodelay 表示当已经达到burst值时,再来新请求时,直接返回503
IF部分用于判断是否是百度蜘蛛的user agent。如果是,就对变量$anti_spider赋值。这样就做到了只对百度蜘蛛进行限制了。
详细的参数说明,可以查看官方文档。
http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone
这个模块对请求的限制采用了漏桶算法。
漏桶算法详见 http://baike.baidu.com/view/2054741.htm
相关代码请查看nginx源码文件 src/http/modules/ngx_http_limit_req_module.c
代码的核心部分是ngx_http_limit_req_lookup 方法。
参考:http://www.bo56.com/%E4%BD%BF%E7%94%A8nginx%E9%99%90%E5%88%B6%E7%99%BE%E5%BA%A6%E8%9C%98%E8%9B%9B%E7%9A%84%E9%A2%91%E7%B9%81%E6%8A%93%E5%8F%96/
发表评论
-
nginx 反向代理 解析域名变成ipv6,关于DNS TTL的一点看法
2022-09-04 21:36 353nginx 反向代理 解析域名变成ipv6 Nginx服务配 ... -
nginx优化之request_time 和upstream_response_time差别
2017-06-29 20:36 1692http://blog.sina.com.cn/s/blog_ ... -
nginx map使用方法
2017-06-26 11:24 1241http://www.ttlsa.com/nginx/usin ... -
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
2017-06-26 11:11 1316nginx查看安装了哪些模块 http://www.blogj ... -
Nginx 内置变量,细化规则,真实IP获取及限制连接请求
2017-06-26 09:58 366https://yq.aliyun.com/articles/ ... -
nginx启动,重启,关闭命令
2017-06-23 16:49 335http://www.cnblogs.com/derekche ... -
Nginx常用负载均衡策略(接上一篇文章)
2017-06-22 17:01 413http://wiki.jikexueyuan.com/pro ... -
OpenResty初步使用
2017-06-17 17:17 425http://blog.csdn.net/yoara/arti ... -
nginx location匹配规则
2017-06-16 14:57 413http://www.nginx.cn/115.html h ... -
使用Nginx+Lua(OpenResty)开发高性能Web应用
2017-06-02 09:36 415http://jinnianshilongnian.iteye ... -
Nginx SSL+tomcat集群,request.getScheme() 取到https正确的协议
2017-05-27 09:39 499http://feitianbenyue.iteye.com/ ... -
Nginx做代理时X-Forwarded-For信息头的处理
2017-05-25 23:02 802http://blog.csdn.net/xybelieve1 ... -
NGINX.CONF各参数的意义
2017-05-18 20:51 405http://www.cnblogs.com/justbio/ ... -
Nginx实战系列之功能篇----后端节点健康检查
2017-04-20 15:08 1040http://blog.csdn.net/moqiang02/ ... -
无法获取proxy_set_header的变量值
2017-04-15 11:26 690http://www.thinksaas.cn/ask/que ... -
nginx指令之——tcp_nodelay
2017-04-15 11:11 677指令tcp_nodelay作用于socket参数TCP_NOD ... -
Ngnix中的fastcgi参数性能优化和解释
2017-03-08 09:27 562优化性能参数设置,在ngnix.conf中的http 层加上f ... -
Nginx中502和504错误详解
2017-03-08 08:32 1145在使用Nginx时,经常会 ... -
Nginx服务器拒绝非GET方式请求保障安全性
2017-03-06 22:27 1232upstream tomcat { ip_hash; serv ... -
NGINX编译安装后添加新模块的方法
2017-02-21 16:27 859刚忙完研发又有新的需求过来,测试服务器的nginx需要有H ...
相关推荐
ngx_dynamic_limit_req_module 介绍 ngx_dynamic_limit_req_module模块用于动态锁定IP并定期释放它。 目录 dynamic_limit_req_zone 设置共享内存区域的参数,该参数将保留各种键的状态。 特别是,状态存储当前的...
、limit_conn_module、ngx_http_limit_req_module、ngx_http_access_module、ngx_http_auth_basic_module、ngx_http_fastcgi_module、ngx_http_gzip_module、ngx_http_proxy_module、ngx_http_upstream_module、ngx_...
* ngx_http_limit_req_module * ngx_http_log_module 其他模块 * ngx_http_map_module * ngx_http_memcached_module * ngx_http_mirror_module * ngx_http_mp4_module * ngx_http_perl_module * ngx_...
nginx可以使用ngx_http_limit_req_module模块的limit_req_zone指令进行限流访问,防止用户恶意攻击刷爆服务器。ngx_http_limit_req_module模块是nginx默认安装的,所以直接配置即可。 首先,在nginx.conf文件中的...
nginx可以通过ngx_http_limit_conn_module和ngx_http_limit_req_module配置来限制ip在同一时间段的访问次数. ngx_http_limit_conn_module:该模块用于限制每个定义的密钥的连接数,特别是单个IP地址的连接数....
9. **ngx_http_limit_req_module**:限制每秒请求数,同样用于防御DDoS和恶意爬虫。 10. **ngx_http_upstream_hash_module**:基于请求的某个参数(如URL、IP)进行负载均衡,实现特定流量的定向。 11. **ngx_...
此外,配合第三方模块,如`ngx_http_realip_module`可以获取客户端的真实IP,`ngx_http_access_module`控制请求访问权限,`ngx_http_limit_conn_module`和`ngx_http_limit_req_module`限制并发连接和请求频率。...
本文主要解析一下ngx_http_core_module、ngx_http_limit_conn_module以及ngx_http_limit_req_module中的limit相关配置参数。 limit_rate 名称 默认配置 作用域 官方说明 中文解读 模块 limit_rate limit_rate...
了解 Nginx 的 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 模块,对请求访问量进行控制。 Nginx 模块化 nginx 的内部结构是由核心模块和一系列的功能模块所组成。模块化架构使得每个模块的功能相对...
- 社区提供许多第三方模块,如缓存模块(ngx_http_memcached_module、ngx_http_fastcgi_cache_module)、限速模块(ngx_http_limit_conn_module、ngx_http_limit_req_module)等,可根据需求选择安装。 6. **维护...
限制并发请求数的模块为:http_limit_req_module,地址:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html 这两个模块都是默认编译进Nginx中的。 限制并发连接数 示例配置: http { limit_conn_zone...
前置条件:nginx 需要有 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 模块,可以使用命令 2>&1 nginx -V | tr ‘ ‘ ‘\n’|grep limit 检查有没有相应模块,如果没有请重新编译安装这两个模块。...
- ` ngx_http_limit_conn_module` 和 `ngx_http_limit_req_module`:限制并发连接和请求速率。 7. **维护与监控** 使用Nginx的内置日志功能,结合第三方工具如`ngxtop`、`nginx-module-vts`或`goaccess`,可以...
- **ngx_http_limit_conn_module** 和 **ngx_http_limit_req_module**:控制连接和请求限制。 - **ngx_http_proxy_module** 和 **ngx_http_upstream_module**:增强反向代理功能。 - **ngx_http_addition_module*...
限速模块(ngx_http_limit_conn_module和ngx_http_limit_req_module)控制并发连接数和请求速率,防止DDoS攻击。 总的来说,Nginx凭借其优秀的性能和丰富的功能,在现代Web服务架构中扮演着重要角色。无论是用作...
ngx_http_limit_req_module :用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 “leaky bucket” ngx_http_limit_conn_module :用来限制同一时间连接数,即并发限制 limit_rate和limit_rate_after :...
服务器压力检测工具ab 安装 $ yum -y install httpd-tools $ ab -V 检测接口最大QPS(每秒查询率 – 吞吐...按请求速率限速,按照ip限制单位时间内的请求数(ngx_http_limit_req_module) 限流配置 创建规则 语法 :li