nginx 限制 tcp 链接总数

目录

nginx 在做 tcp 代理的时候可以限制对外长链接的总数,可以防止服务器的负载过高。

配置

# 通过实验发现,nginx 开启限制后,不会断开已经建立的链接,只是会阻止新建立链接
stream {
        # 对哪里 IP 进行限制,这里是所有内网地址
        geo $limited {
                default 0;
                192.168.0.0/16 1;
                10.0.0.0/8 1;
                172.0.0.0/8 1;
                127.0.0.1/32 1;
        }
        # 当$limited 等于 0 时,$limit="" 这时不会产生限制。
        map $limited $limit {
                1 "limit";
                0 "";
        }
        limit_conn_zone $limit zone=addr:10m;
        limit_conn           addr 200;

        upstream backend {
                server 127.0.0.1:8080;
        }


        server {
                listen 443 ssl;

                proxy_pass backend;
        }
}

目录