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)

大家都在看

  • Opencv环境配置及踩坑

    Opencv环境配置及踩坑 1.什么是Opencv OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows…

    Java 2023年6月7日
    092
  • 根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第3版)

    这几天下班回家打鸡血赶进度,把第三版测试完成发布出来了! 欢迎访问TableGo官网:http://www.tablego.cn 同样对第2版的代码进行了维护和优化,对界面进行了完…

    Java 2023年6月9日
    083
  • Liquibase 使用(全)

    开发过程经常会有表结构和变更,让运维来维护的话,通常会有很大的沟通成本,有时在开发方案有问题的时候,提测失败整个项目需要回滚,代码回滚起来是很容易的,通常有备份,但数据库的话就要人…

    Java 2023年6月5日
    0129
  • java thrift客户端调用服务时Integer类型参数传NULL,服务端接收到为0问题

    thrift是一种跨语言的RPC框架,为了保证在各种语言下都能正确表述,IDL语言在设计的时候就只能选取各种语言的共性。比如对于null,虽然在java中定义一个字段为Intege…

    Java 2023年5月29日
    067
  • SpringDataRedis序列化带有双引号

    1. 背景 在使用Spring Data Redis的hash存数据的时发现,如果存值的泛型和取出来的泛型对象不同时,可能存在值不相等。记录下过程与解决方案,避免大家重复踩坑。 2…

    Java 2023年6月15日
    067
  • Jenkins 脚本命令行应用总结

    测试环境 Jenkins 2.304 脚本命令行入口 Jenkins主页→系统管理→脚本命令行 遍历项目 例子:获取所有自由风格项目及相关项目信息 def projects = J…

    Java 2023年6月16日
    071
  • Vue编程式路由导航和路由守卫

    具体编码: methods: { pushShow(m) { this.$router.push({ name: ‘msg-d’, // 就是路由的名称,不能使用path para…

    Java 2023年6月13日
    067
  • Java 获取Excel中的表单控件

    Excel中可通过【开发工具】菜单栏下插入表单控件,如文本框、单选按钮、复选框、组合框等等,插入后的控件可执行设置控件格式,如大小、是否锁定、位置、可选文字、数据源区域、单元格链接…

    Java 2023年5月29日
    076
  • 服务创建&删除

    创建服务.bat @echo.服务启动…… @echo off @sc create BestoneProductEditSvc binPath= "D:\win…

    Java 2023年6月5日
    080
  • java计算器(简单版)

    之前在学习完Java的方法后,我发现自己可以开始写计算器这个”经典”的项目了,于是我花了一点时间写下了这个计算器的程序,也写下了这篇文章。 在这里,我需要说…

    Java 2023年6月5日
    088
  • mysql8远程连接问题

    问题 连接 MySQL8 报错: sql;gutter:true; 2059 – authentication plugin 'caching_sha2_password…

    Java 2023年6月6日
    083
  • 深入浅出Nginx实战与架构

    本文主要内容如下(让读者朋友们深入浅出地理解Nginx,有代码有示例有图): 1.Nginx是什么? 2.Nginx具有哪些功能? 3.Nginx的应用场景有哪些? 4.Nginx…

    Java 2023年5月30日
    069
  • Linux远程连接工具:finalshell

    一、finalshell介绍 FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求. 特色功能:云端同步,…

    Java 2023年6月5日
    0124
  • iOS运行时编程(Runtime Programming)和Java的反射机制对比

    运行时进行编程,类似Java的反射。运行时编程和Java反射的对比如下: 1.相同点 都可以实现的功能:获取类信息、属性设置获取、类的动态加载(NSClassFromString(…

    Java 2023年5月29日
    0105
  • Java基础学习笔记

    Java 入门基础编程笔记 Java 入门基础编程视频课件地址:点击我啦哟 提取码:50ME 1 前言 1.1 软件开发介绍 软件,即一系列按照特定顺序组织的计算机数据和指令的集合…

    Java 2023年6月7日
    074
  • 策略模式在业务中的实际应用

    策略模式结构图 策略模式主要由以上三个身份组成,这里我们就不过多介绍策略模式的基础知识,默认大家已经对策略模式已经有了一个基础的认识。 业务需求 现有一个广告点击数据埋点上报的需求…

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