nginx的请求限制

一、http协议的连接与请求

nginx的请求限制

nginx的请求限制

总结:

HTTP请求是建立在一次TCP连接的基础之上。

一次TCP请求至少产生一次HTTP请求。

二、连接限制

limit_conn_module

配置语法:

Syntax:    limit_conn_zone key zone=name:size;
Default:    —
Context:    http

Syntax:    limit_conn zone number;
Default:    —
Context:    http, server, location

示例:

nginx的请求限制

nginx的请求限制

limit_conn conn_zone 1 : 同一时刻只允许一个ip的请求过来。

三、请求频率限制

limit_req_module

Syntax:    limit_req_zone key zone=name:size rate=rate [sync];
Default:    —
Context:    http

yntax:    limit_req zone=name [burst=number] [nodelay | delay=number];
Default:    —
Context:    http, server, location

示例:

nginx的请求限制

说明:

$binary_remote_addr :客户端地址,不用$remote_addr,是因为 $binary_remote_addr更省空间。

zone=req_zone : 分配的存储空间名称。

reate=1r/s:对于同一个IP地址过来的所有的请求,限制为每秒只能发起1个请求。

配置limit_req_zone

nginx的请求限制

nginx的请求限制

用ab压力测试工具进行测试

//总共请求30次,并发为20
ab -n 30 -c 20 http://192.168.0.133/index.html

测试结果:

nginx的请求限制

查看error.log,发现日志中有和多请求限制的错误。

nginx的请求限制

第二种参数配置:

nginx的请求限制

burst=3 表示客户的请求在超过指定的速率(本次配置为1r/s)后,遗留的3个请求释放到下一秒执行,会保证有3个请求在下一秒执行,起到一个访问限速的作用,即延迟响应。

nodelay表示除了这3个请求外,其它的请求直接返回。

nginx的请求限制

本文为袋鼠学习中的总结,如有转载请注明出处:https://www.cnblogs.com/chrdai/protected/p/11331504.html

Original: https://www.cnblogs.com/chrdai/p/11331504.html
Author: Chrdai
Title: nginx的请求限制

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/543619/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 历时2月,动态线程池 DynamicTp 发布里程碑版本 V1.0.8

    关于 DynamicTp DynamicTp 是一个基于配置中心实现的轻量级动态线程池管理工具,主要功能可以总结为动态调参、通知报警、运行监控、三方包线程池管理等几大类。 经过多个…

    Java 2023年6月14日
    087
  • 系统性掌握SpringBoot

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/franson-2016/p/13320880.html…

    Java 2023年5月30日
    078
  • Java(8)数组

    数组 数组存储相同类型值的序列。 声明数组 数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标(index,或称索引)可以访问数组中的每一个值。例如,如果a是一个整型数…

    Java 2023年6月9日
    071
  • JVM的监控

    JVM的监控 Table of Contents *一、jvm常见监控工具&指令 * 1、 jps:jvm进程状况工具 * 2、jstat: jvm统计信息监控工具 * 3…

    Java 2023年6月7日
    0106
  • springboot整合druid–纯配置文件 .yml 或者 .properties

    pom文件引入 com.alibaba druid-spring-boot-starter 1.1.14 通过如下注解方式配置druid server: port: 8083 # …

    Java 2023年6月6日
    068
  • Maven把本地jar 加入jar库

    mvn install:install-file -DgroupId=net.neoremind -DartifactId=fountain-common -Dversion=v1…

    Java 2023年6月13日
    072
  • StackOverFlow & OutOfMemory

    StackOverFlow & OutOfMemory 两者都为 Error,广义上的”异常” StackOverflow 通常为 Java 虚拟机…

    Java 2023年6月5日
    090
  • 线程安全的 Set、List

    线程安全的Set: 综上可以看出,线程安全的 Set 底层选用 ConcurrentHashMap 的居多 线程安全的 List: Original: https://www.cn…

    Java 2023年5月30日
    0175
  • 面试官:Java中对象都存放在堆中吗?你知道逃逸分析?

    面试官:Java虚拟机的内存分为哪几个区域? 我(微笑着):程序计数器、虚拟机栈、本地方法栈、堆、方法区 面试官:对象一般存放在哪个区域? 我:堆。 面试官:对象都存放在堆中吗? …

    Java 2023年6月7日
    072
  • nginx 配置 https

    javascript;gutter:true; server { listen 443 ssl; listen [::]:443 ssl; server_name portal.x…

    Java 2023年5月30日
    065
  • 面试遇到的常用问题

    一、线程池的问题 1、newSingleThreadExecutor 创建一个单线程的线程池。这个线程池只有一个线程在工作,也就是相当于单线程串行执行所有任务。如果这个唯一的线程因…

    Java 2023年6月6日
    075
  • 看了同事写的代码,我竟然开始默默的模仿了。。。

    事情是这样的,目前我正在参与 XXXX 项目的搭建,需要与第三方对接接口。在对方的接口中存在几个异步通知,为了接口的安全性,需要对接口的参数进行验签处理。 为了方便大家对异步通知返…

    Java 2023年6月5日
    089
  • Android连载41-复习四种基本布局

    详解四种基本布局 线性布局 android:orientation= vertical 垂直排列 horizontal 水平排列 android:layout_gravity= 用…

    Java 2023年6月13日
    074
  • SpringBoot笔记(三):静态资源和动态模板

    SSM中的静态资源配置 Spring xml中通过节点配置静态资源: 还有一种简化的配置风格: 除了xml配置还可以通过java代码来配置静态资源: @Configuration …

    Java 2023年6月7日
    063
  • Thumbnails 图片处理

    Thumbnails 是由谷歌提供的图片处理包,目前版本0.4.8。 可以简洁的实现图片的 缩放、压缩、旋转、水印、格式转换等操作。 示例代码: Thumbnails 不能添加文字…

    Java 2023年6月6日
    070
  • SpringBoot 如何统一后端返回格式

    在前后端分离的项目中后端返回的格式一定要友好,不然会对前端的开发人员带来很多的工作量。那么SpringBoot如何做到统一的后端返回格式呢?今天我们一起来看看。 为什么要对Spri…

    Java 2023年6月8日
    088
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球