您的位置:首页 > 运维架构 > Nginx

nginx限制IP并发数

2014-09-25 12:03 183 查看
http {
limit_conn_zone $binary_remote_addr zone=conn:10m;
server{
location / {
limit_conn conn 2;

}
}
limit_conn_zone用在http段。
limit_conn可以用在http, server, location区段。
nginx 新语法 limit_conn_zone 替换 limit_conn 用法对应conf文件夹中的nginx.conf文件,将limit_conn替换为limit_conn_zone。使用于http示例:limit_conn_zone $binary_remote_addr zone=perip:10m; #容器共使用10M的内存来对于IP传输开销 对应的虚拟主机文件,将原来的limit_conn one 替换为 limit_conn perip。使用于server示例:limit_conn perip 10; # 每个IP使用10个连接。

解释指令名称:limit_zone (nginx 新语法 limit_conn_zone 替换 limit_conn 用法) 功 能:该指令用于定义一个zone,该zome将会被用于存储会话状态。能够存储的会话数量是由分被交付的变量和memory_max_size的大小决定的。 例如:
limit_zone one $binary_remote_addr10m;
客户端的IP地址被用作会话,注意,这里使用的是$binary_remote_addr而不是$remote_addr,这是因为,$remote_addr的长度为7到15个字节,它的会话信息的长度为32或64 bytes;$binary_remote_addr的长度为4字节,会话信息的长度为32字节。当设置1M的一个zone时,那么如果是用$binary_remote_addr方式,该zone将会存放32000个会话。语 法: limit_zone zone_name $variable memory_max_size默 认 值: no使用环境: http 指令名称:limit_conn功 能:该指令用于为一个会话设定最大的并发连接数。如果并发请求数超过这个限制,那么将会出现"Service unavailable" (503)。例如:
[html] view plaincopy
limit_zone one $binary_remote_addr 10m;

server {

location /download/ {

limit_conn one 1;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ip nginx 并发