我使用 conn_limit 将一个 $remote_user 的同时连接数限制为 n 个,效果很好。但是,我很高兴能找到一种方法来添加例外。我希望用户能够在任意数量的连接中获取 *.jpg 和 *.sql 文件,但仍然将 *.zip 文件限制为每个用户一个连接。我一直在 nginx 文档中尝试寻找解决方案,但没有任何成功。请给我指明正确的方向。
我目前的配置:
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;
}
答案1
类似的东西应该可以
location /source {
root /home/frog/source/;
auth_basic "Login";
auth_basic_user_file /home/frog/.htpasswd;
location ~ "\.zip$" {
limit_conn limit 1;
}
}