本文主要解析一下ngx_http_core_module、ngx_http_limit_conn_module以及ngx_http_limit_req_module中的limit相关配置参数。
limit_rate
| 名称 | 默认配置 | 作用域 | 官方说明 | 中文解读 | 模块 |
|---|---|---|---|---|---|
| limit_rate | limit_rate 0; | http, server, location, if in location | Limits the rate of response transmission to a client. The rate is specified in bytes per second. The zero value disables rate limiting. The limit is set per a request, and so if a client simultaneously opens two connections, the overall rate will be twice as much as the specified limit. | 指定每秒该连接能下载的bytes,主要用来限制个别请求的带宽 | ngx_http_core_module |
| limit_rate_after | limit_rate_after 0; | http, server, location, if in location | Sets the initial amount after which the further transmission of a response to a client will be rate limited. | 设置多少bytes过后将启动limit计数,如果小于此值则不限速 | ngx_http_core_module |
| limit_except | 没有默认值 | location | Limits allowed HTTP methods inside a location. The method parameter can be one of the following: GET, HEAD, POST, PUT, DELETE, MKCOL, COPY, MOVE, OPTIONS, PROPFIND, PROPPATCH, LOCK, UNLOCK, or PATCH. Allowing the GET method makes the HEAD method also allowed | 设置除了指定的http methods外其他method将被限制,允许GET就自动允许HEAD方法 | ngx_http_core_module |
实例
?
|
1
2
3
4
5
6
7
8
9
10
11 |
location /downloads {
limit_rate_after 1m;
limit_rate 500k;
}
location / {
proxy_pass http://localhost:3000;
limit_except GET {
deny all;
}
} |
limit_conn
| 名称 | 默认配置 | 作用域 | 官方说明 | 中文解读 | 模块 |
|---|---|---|---|---|---|
| limit_conn | 没有默认值,语法 limit_conn zone number; | http, server, location | Sets the shared memory zone and the maximum allowed number of connections for a given key value. When this limit is exceeded, the server will return the error in reply to a request. | 指定一个zone的每个key最大连接数 | ngx_http_limit_conn_module |
| limit_conn_zone | 没有默认值,语法 limit_conn_zone key zone=name:size; | http | Sets parameters for a shared memory zone that will keep states for various keys. In particular, the state includes the current number of connections. The key can contain text, variables, and their combination. Requests with an empty key value are not accounted. | 第一个参数是key,第二个参数是指定zone及其存放元数据(key,current num of conns per key,zone size)的共享内存大小 | ngx_http_limit_conn_module |
| limit_conn_log_level | limit_conn_log_level error; | http, server, location | Sets the desired logging level for cases when the server limits the number of connections. This directive appeared in version 0.8.18. | 指定当触发limit的时候日志打印级别 | ngx_http_limit_conn_module |
实例
?
|
1
2
3
4
5
6
7
8
9
10
11
12 |
http {
limit_conn_zone $binary_remote_addr zone=ips:10m;
limit_conn_zone $server_name zone=servers:10m;
limit_conn_log_level notice;
server {
# these limits apply to the whole virtual server
limit_conn ips 10;
# only 1000 simultaneous connections to the same server_name
limit_conn servers 1000;
}
} |
limit_req
| 名称 | 默认配置 | 作用域 | 官方说明 | 中文解读 | 模块 |
|---|---|---|---|---|---|
| limit_req | 没有默认值,语法 limit_req zone=name [burst=number] [nodelay]; | http, server, location | Sets the shared memory zone and the maximum burst size of requests. If the requests rate exceeds the rate configured for a zone, their processing is delayed such that requests are processed at a defined rate. Excessive requests are delayed until their number exceeds the maximum burst size in which case the request is terminated with an error. | 指定zone的burst大小 | ngx_http_limit_req_module |
| limit_req_zone | 没有默认值,语法 limit_req_zone key zone=name:size rate=rate; | http | Sets parameters for a shared memory zone that will keep states for various keys. In particular, the state stores the current number of excessive requests. The key can contain text, variables, and their combination. Requests with an empty key value are not accounted. | 第一个参数指定key,第二个参数指定zone名称和元数据的内存大小,第三个参数rate指定单位时间的请求数阈值 | ngx_http_limit_req_module |
| limit_req_log_level | limit_req_log_level error; | http, server, location | Sets the desired logging level for cases when the server refuses to process requests due to rate exceeding, or delays request processing. Logging level for delays is one point less than for refusals. | 指定触发req limit时打印的日志级别 | ngx_http_limit_req_module |
实例
?
|
1
2
3
4
5
6
7
8
9
10
11 |
http {
limit_req_zone $binary_remote_addr zone=myreqzone:10m
limit_req_log_level warn;
server {
## 每个ip限定10个连接数
## 正常一个浏览器给每个host开两到三个连接
## 触发的话会返回503
## nodelay表示一上来就直接计算,不经过一些预热后再计算
limit_req zone=myreqzone burst=10 nodelay;
}
} |
以上就是我们整理的nginx中limit配置参数的全部内容,大家可以在下方的留言区讨论,感谢你对快网idc的支持。
相关文章
猜你喜欢
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 83
-
2025-06-05 43
-
2025-05-29 41
-
2025-06-04 85
-
2025-05-25 24
热门评论

