小编g.f*_*err的帖子

Nginx:limit_conn 与上游 max_conns(在位置上下文中)

环境:Nginx 1.14.0(见dockerfile更多细节)。

要限制
服务器中特定位置的并发连接数,可以使用两种方法 - limit_conn(所有 ips 的第三个示例)
上游 max_conns
这两种方法的工作方式有区别吗?
有人可以解释或参考解释吗?

使用上游 max_conns 进行限制的示例:

http {
   upstream foo{
     zone upstream_foo 32m;
     server some-ip:8080 max_conns=100;
   }

   server {
    listen 80;
    server_name localhost;

    location /some_path {
       proxy_pass http://foo/some_path;
       return 429;
    }
   }  
}
Run Code Online (Sandbox Code Playgroud)

使用 limit_conn 进行限制:

http {

   limit_conn_zone $server_name zone=perserver:32m;

   server {
    listen 80;
    server_name localhost;

    location /some_path {
       proxy_pass http://some-ip:8080/some_path;
       limit_conn perserver 100;
       limit_conn_status 429;
    }
   }  
}
Run Code Online (Sandbox Code Playgroud)

nginx nginx-location

3
推荐指数
1
解决办法
3124
查看次数

标签 统计

nginx ×1

nginx-location ×1