Nginx模块之请求限制

摘要:
我学习了一个新模块。这似乎很重要。配置有点复杂。请记住模块1.limit_conn_zonekeyzone=name:size的连接频率限制_连接_基本语法;要创建连接限制,必须分配一个空间,这是声明受限制对象的第一个选项,例如IP$binary_remote_有关地址中Nginx变量的详细信息,请参阅

又学了个新模块,看起来挺重要的,配置也稍微复杂一些,赶紧来记一下

  连接频率限制-limit_conn_module

    基本语法

      1.limit_conn_zone key zone=name:size;

         要想创建连接限制必须要分配一个空间,这个空间就是第一个选项

         要声明限制的对象,比如IP $binary_remote_addr 对于Nginx的变量详解请看我的另一篇文章

         要指定分配空间的名称,为了真正实现限制时指定名称

         要指定分配空间的大小

      2.limit_conn zone number

          该语法需要结合上面,添加调用的zone的名称,限制个数

  请求频率限制-limit_req_module

      基本语法

        1.limit_req_zone key zone=name:size rate=rate

          和连接类似,需要指定空间,限制的key,空间的名称,大小

          有一个不同的是rate指定限制的单位,个数

            例如 rate=1r/s 指一秒只发送一个请求

        2.limit_req zone=name[burst=number] [nodelay]

          结合上面与连接类似

  放置区域

        1.http

        2.http,server,location

 区别:都可以实现连接限制,但表现方式不同

HTTP请求建立在一次TCP连接基础上

一次TCP请求至少可以产生一次HTTP请求

测试连接限制与请求限制

  首先我们在default.conf中配置连接限制与请求限制,并将要指定的参数依次测试

     Nginx模块之请求限制第1张

  测试首先需要准备ab工具,对我的网站进行20次的请求,并发数为20次,我的另一篇文章有讲解

    Nginx模块之请求限制第2张

  在没有进行限制的情况下是没有问题的,这时我们开始对请求进行限制,每秒只允许接受一次请求

    配置完毕后不要忘记重新加载配置文件 nginx -s reload

  再次使用ab工具后会发现,出现了一个这个

    Nginx模块之请求限制第3张

    这说明我们的20次请求中有19次并没有通过,也就起到了请求限制的作用

  接下来我们测试连接限制

    连接限制是只允许制定个数的IP进行访问,这次我们学聪明了,由于一开始要先进行测试再打开error.log,看不到什么效果,所以要多打开一个终端进行测试

    连接限制我感觉应该不常用,而且我从虚拟机测试并没有成功,以后再搞吧

    

免责声明:文章转载自《Nginx模块之请求限制》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WMI简介和Event驻留Linux下查看CPU、内存占用率下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

fastdfs 集群搭建

1、部署FastDFS及Nginx (本套FastDFS为简化版安装部署,只需解压至普通用户家目录下或者任意目录,解压后修改脚本,执行脚本后即可使用。) 说明:FastDFS分为tracker(默认端口为22122)和storage(默认端口为23000)服务,tracker负责前端的负载及导航功能,storage仅负责存贮数据。虽然是分布式存储,但是对于...

nginx Windows版使用说明

nginx的Windows版本使用原生Win32 API(非Cygwin模拟层)。当前nginx/Windows只使用select作为通知方法,所以不要期待它有很高的性能和扩展性。鉴于这点和一些已知问题,nginx/Windows目前还处于beta阶段。nginx/Windows和Unix版本相比,功能几乎已经齐全,除了XSLT过滤器、图像过滤器、GeoI...

使用goaccess对Nginx日志简单分析

接上篇使用 Linux命 令来分析。使用命令太麻烦,既不快捷又不直观,市面上有不少现成的工具可以使用,比如 ELK。但 ELK 太重了,这里使用的是比较轻量的 goaccess。 接收日志 goaccess 是直接对日志文件进行分析,首先要获得日志文件。nginx 原生支持将日志发送到远程 syslog , 参见官方文档。 1 access_log sy...

nginx禁止限制某个IP地址或网段访问服务器

nginx配置访问ip需要修改nginx.conf文件,只需要在server中添加allow跟deny的ip即可,如下: upstream novel { server 127.0.0.1:8080; } server { listen 80; server_name localhost; ch...

制作openresty的docker镜像 + nginx笔记 调试rewrite和location Nginx 学习笔记

1.Dockerfile FROM centos:7.6.1810 MAINTAINER openresty1.15.8.2 <dingxiaowei@do1.com> RUN yum install -y yum-utils && yum-config-manager --add-repo https://open...

k8s学习笔记之二:Pod

一、deployment部署pod 备注:// 部署pod到指定节点 在启动Pod的yaml文件中与containers同级别的位置添加如下两行即可 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3...