Nginx: 配置项之http模块connection和request的用法以及limit_conn和limit_req模块
Nginx的http
模块中包含了connection
和request
的配置,用以限制连接和请求的数量,防止过多的负载。
limit_conn_zone
和limit_conn
:
limit_conn_zone
用来设置一个变量,这个变量的值是key,通常是用户的IP地址。limit_conn
用来设置允许同时连接的最大数量。
例如,限制每个IP同时连接的数量为1:
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
...
location / {
limit_conn addr 1;
...
}
}
}
limit_req_zone
和limit_req
:
limit_req_zone
用来设置一个变量,这个变量的值是key,通常是用户的IP地址。limit_req
用来设置允许的请求频率。
例如,限制每个IP每秒钟的请求数不超过1个:
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
...
location / {
limit_req zone=one burst=5;
...
}
}
}
在这个例子中,burst=5
表示允许在超出平均速率后的额外请求数不超过5个。
以上是limit_conn
和limit_req
的基本用法,可以根据实际需求进行更复杂的配置。
评论已关闭