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)

大家都在看

  • 干掉Session?这个跨域认证解决方案真的优雅!

    用户登录认证是 Web 应用中非常常见的一个业务,一般的流程是这样的: 客户端向服务器端发送用户名和密码 服务器端验证通过后,在当前会话(session)中保存相关数据,比如说登录…

    Java 2023年6月9日
    016
  • Mybatis基本流程及配置文件解析

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Java 2022年10月10日
    0197
  • 跟着 Guava、Spring 学习如何设计观察者模式

    文章首发在公众号(龙台的技术笔记),之后同步到掘金和个人网站:xiaomage.info 今天讲解一篇行为型设计模式,什么是行为型?行为型主要负责设计 类或对象之间的交互。工作中常…

    Java 2023年6月14日
    018
  • Sharding-jdbc + Seata + Nacos整合

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Java 2022年11月12日
    0113
  • HTTP协议

    HTTP协议是无状态的协议:对于事务的处理没有记忆能力。每次请求-响应都是独立的。 缺点:多次请求间不能共享数据—–会使用会话技术来进行解决 优点:速度快 …

    Java 2023年6月5日
    016
  • Mysql优化之-explain(执行计划)

    使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。 explain执行计划包含的信息 其…

    Java 2023年6月8日
    070
  • leetcode 538. Convert BST to Greater Tree 把二叉搜索树转换为累加树(简单)

    一、题目大意 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node…

    Java 2023年6月14日
    017
  • 在Cocos2d中拖动组件并吸附到节点

    最近在学习制作小游戏,要实现一个拖动吸附效果,这里简单实现一下 在 properties里新建一个对象,用来接收目标区域的节点 然后在小车节点里绑定这个脚本,将要测试的目标节点拖动…

    Java 2023年6月7日
    027
  • EMT4J——让 Java 应用升级更轻松

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Java 2022年9月21日
    0183
  • Spring Boot 打包报错Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0

    问题描述:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:…

    Java 2023年5月30日
    034
  • SpringBoot官方支持任务调度框架,轻量级用起来也挺香!

    大家好,我是二哥呀。定时任务的应用场景其实蛮常见的,比如说: 数据备份 订单未支付则自动取消 定时爬取数据 定时推送信息 定时发布文章 等等(想不出来了,只能等等来凑,😆,反正只要…

    Java 2023年6月9日
    019
  • idea报This inspection points out unresolved references inside javadoc

    类方法注释报错 解决办法: File–>Settings–>Editor–>Inspections–>Jav…

    Java 2023年5月29日
    046
  • 【特殊的阻塞队列】 java.util.concurrent.SynchronousQueue 源码分析

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月9日
    018
  • Mac常用shell命令

    几个常用命令 命令名称:pwd英文:print work directory描述:查看当前工作目录的完整路径 英文全称: list描述:列出目录下的内容清单常用参数:-l:列出文件…

    Java 2023年6月13日
    041
  • 自定义排序之数据库设计

    自定义排序之数据库设计 之前做过的项目有项需求,就是要对一个普通的列表进行自定义排序功能,当初构思了几个方案,各有所长,按需使用,下面就一一来介绍这几个方案。注:这里的自定义排序就…

    Java 2023年6月16日
    021
  • 02-MyBatisPlus入门

    1、创建数据库:mybatis_plus 2、创建 User 表其表结构如下: id name age email 1 Jone 18 test1@baomidou.com 2 J…

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