nginx 为几个大文件提供服务。用户通过基本身份验证获得访问权限。htpasswd 我想将每个用户同时下载的文件限制为最多 5 个连接。有多个用户通过 1 个 IP 地址获得访问权限,因此无法通过 IP 进行访问。
我尝试过以下操作:
map "$remote_user" $num {
default 5
}
server {
location /source {
root /home/frog/source/;
auth_basic "Login";
auth_basic_user_file /home/frog/.htpasswd;
set $limit_conn $num;
}
但它不会限制它。我仍然同时打开超过 5 个连接。救命!
答案1
经过一番阅读,结果是这样的:
limit_conn_zone $remote_user zone=limit:10m;
server {
location /source {
root /home/frog/source/;
auth_basic "Login";
auth_basic_user_file /home/frog/.htpasswd;
limit_conn limit 5;
}
需要设置limit_conn_zone $远程用户区域=限制:10米;外部服务器阻止然后添加limit_conn 限制 5;里面服务器堵塞
现在每个用户可以同时打开不超过5个连接。