nginx 限制并发连接数

PHPABC Nginx 882 次浏览 , 没有评论
limit_zone   one $binary_remote_addr  10m;
server {
location /download/ {
limit_conn   one  1;
}


limit_zone one $binary_remote_addr 10m;
定义一个叫“one”的记录区,总容量为 10M,以变量 $binary_remote_addr 作为会话的判断基准(即一个地址一个会话)。

您可以注意到了,在这里使用的是 $binary_remote_addr 而不是 $remote_addr。
$remote_addr 的长度为 7 至 15 bytes,会话信息的长度为 32 或 64 bytes。
而 $binary_remote_addr 的长度为 4 bytes,会话信息的长度为 32 bytes。

当区的大小为 1M 的时候,大约可以记录 32000 个会话信息(一个会话占用 32 bytes)。
limit_conn one 1;
指定一个会话最大的并发连接数。 当超过指定的最发并发连接数时,服务器将返回 “Service unavailable” (503)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go