nginx自从1.1.8版本发布后将limit_conn更换为limit_conn_zone 。对应则需要修改配置文件
旧版本nginx访问限制配置方法(v1.1.8以下) limit_conn_zone $binary_remote_addr zone=addr:10m; #容器共使用10M的内存来对于IP传输开销
################################# server { listen 80; server_name www.abc.com; limit_conn addr 10;
新版本使用旧的配置方式,检测配置文件报错如下:
[iyunv@master cacti]# nginx -t nginx: [emerg] unknown directive "limit_conn_zone" in /usr/local/nginx/conf/nginx.conf:60 nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed [iyunv@master cacti]# vi /usr/local/nginx/conf/nginx.conf
新版本nginx访问限制配置方法(高于v1.1.8)
对应conf文件夹中的nginx.conf文件,将limit_conn替换limit_conn_zone。使用于http
指令 limit_zone 语法:limit_zone zone_name $variable memory_max_size 默认值:no 使用字段:http 指令描述会话状态存储区域。 会话的数目按照指定的变量来决定,它依赖于使用的变量大小和memory_max_size的值。
如下例: limit_zone addr $binary_remote_addr 10m;
################################### server { listen 80; server_name www.abc.com; limit_conn addr 10; # 每个IP使用10个连接。
limit_conn 语法:limit_conn zone_name max_clients_per_ip 默认值:no 使用字段:http, server, location 指令指定一个会话的最大同时连接数,超过这个数字的请求将被返回”Service unavailable” (503)代码。 如下例: limit_zone one $binary_remote_addr 10m;
server { location /download/ { limit_conn one 1; }这将指定一个地址只能同时存在一个连接。
|