文档章节

nginx限制连接数(ngx_http_limit_conn_module)模块

l
 linjin200
发布于 01/09 13:56
字数 790
阅读 28
收藏 2

nginx限制连接数(ngx_http_limit_conn_module)模块

2016年04月06日 17:05:35 亦非我所愿丶 阅读数:5318 标签: nginxmodule 更多

个人分类: nginx

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wanglei_storage/article/details/51076561

ngx_http_limit_conn_module 对于一些服务器流量异常、负载过大,甚至是大流量的恶意攻击访问等,进行并发数的限制;该模块可以根据定义的键来限制每个键值的连接数,只有那些正在被处理的请求(这些请求的头信息已被完全读入)所在的连接才会被计数。

该模块提供了两个配置参数,limit_conn_zone 和 limit_conn ,其中 limit_conn_zone 只能配置在 http{} 段,而 limit_conn 则可以配置于http{},server{},location{} 区段中。


第三方模块编译安装参数:

这里写图片描述


一、 limit_conn_zone

语法:limit_conn_zone $variable zone=name:size; 
配置段:http

该指令描述会话状态存储区域。键的状态中保存了当前连接数,键的值可以是特定变量的任何非空值(空值不会被考虑)。$variable 定义键,zone=name 定义区域名称,主要作用与后面的 limit_conn。size 定义各个键共享内存空间大小,如:

这里写图片描述

注释:

客户端的IP地址作为键。注意,这里使用的是 binary_remote_addr 变量,而不是 remote_addr 变量。 
remote_addr变量的长度为7字节到15字节,而存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。 
binary_remote_addr变量的长度是固定的4字节,存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。 
1M共享空间可以保存3.2万个32位的状态,1.6万个64位的状态。 
如果共享内存空间被耗尽,服务器将会对后续所有的请求返回 503 (Service Temporarily Unavailable) 错误。


二、limit_conn

语法:limit_conn zone_name number 
配置段:http,server,location

该指令指定每个给定键值的最大同时连接数,当超过这个数字时返回503(Service )错误。如(同一IP同一时间只允许有20个连接):

这里写图片描述


三、配置使用示例

limit_conn_zone $binary_remote_addr zone=showjoy_conn:20m; 
主要用来定义变量、zone名称、共享内存大小

limit_conn showjoy_conn 20; 
将前面定义的showjoy_conn进行配置,并且限制同一IP并发连接数为20

这里写图片描述


四、使用注意事项

事务都具有两面性的。ngx_http_limit_conn_module 模块虽说可以解决当前面临的并发问题,但是会引入另外一些问题的。如前端如果有做LVS或反代,而我们后端启用了该模块功能,那不是非常多503错误了?这样的话,可以在前端启用该模块,要么就是设置白名单。

模块地址:https://yunpan.cn/cqSKP6BrJ2AeT 访问密码 4f50

© 著作权归作者所有

l

linjin200

粉丝 23
博文 757
码字总数 846413
作品 0
福州
程序员
私信 提问
Nginx限制某个IP同一时间段的连接次数和请求数

Nginx限制某个IP同一时间段的连接次数和请求数 nginx可以通过ngxhttplimitconnmodule和ngxhttplimitreqmodule配置来限制ip在同一时间段的访问次数. ngxhttplimitconnmodule:该模块用于限制每...

linjin200
01/12
0
0
通过配置nginx 抵御不合法请求

模块 使用此模块主要用来限制每秒请求数量,至于依据什么条件限制是由我们来自定义的。官方文档 Module ngx_http_limit_req_module中文翻译的 nginx限制请求数ngx_http_limit_req_module模块...

-悟空-
2015/05/23
0
13
Nginx模块(四)

官方模块* nginx -V 显示的信息就是加载的模块信息 Module(1)ngxhttpstubstatusmodule 本机状态 该ngxhttpstubstatusmodule模块提供对基本状态信息的访问。 此模块不是默认生成的,应该使用...

FantJ
2017/12/23
0
0
Nginx 配置对流量、连接和请求的限制

Nginx 配置对流量、连接和请求的限制 首先给出配置段: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1、 limit_rate指令   limitrate开启nginx限速功能,可配置在htt...

linjin200
01/12
0
0
nginx限制访问速度问题

1. ngx_http_limit_conn_module 可以用来限制单个IP的连接数 2. ngx_http_limit_req_module 可以用来限制单个IP每秒请求数 3. nginx_limit_speed_module 可以用来对IP限速 以上模块是nginx防...

纵使有花兼明月何堪无酒亦无人
2016/06/23
244
2

没有更多内容

加载失败,请刷新页面

加载更多

php 遇到 No input file specified的解决方法

(一)IIS Noinput file specified 方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS 方法二: 请修改php.ini 找到 ; cgi.force_redirect = 1 去掉前面分号,把后面的1...

chenhongjiang
今天
5
0
MySQL 基础

一、常用命令 在命令行中,配置好环境变量后,通过cmd可以直接进入mysql命令行模式,同时列举几种常用命令 # 进入mysql数据库,密码可以先不写,打完-p后再输入,防止被别人看到mysql -u账...

华山猛男
今天
6
0
简单的博客系统(四)Django请求HTML页面视图信息--基于函数的视图

1. 编写用于查询数据的功能函数 应用目录 下的 views.py 文件通常用于保存响应各种请求的函数或类 from django.shortcuts import renderfrom .models import BlogArticles# Create your ...

ZeroBit
今天
5
0
用脚本将本地照片库批量导入到Day One中

因为目前iCloud 空间已经不足,其中95%都是照片,之前入手了DayOne,且空间没有限制,订阅费一年也不少,再加上DayOne作为一款日记App 也比较有名,功能方面最大的就是地理视图与照片视图,尤...

在山的那边
昨天
19
0
jupyter部署安装

python373 -m ipykernel install --name python373 ipython kernelspec list sc create myjupyterservice binpath="D:\apply\Python373\Scripts\jupyter-notebook --config=V:/my_work/jupyt......

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部