中间件-Nginx加固(控制超时时间限制客户端下载速度并发连接数)

中间件-Nginx加固(控制超时时间&限制客户端下载速度&并发连接数)

    • 1.1 Nginx 控制超时时间配置
    • 1.2 Nginx 限制客户端下载速度&并发连接数


💖The Begin💖点点关注,收藏不迷路💖

1.1 Nginx 控制超时时间配置

在 Nginx 服务器中,超时时间是一个重要的配置选项,它决定了服务器在处理请求时等待客户端响应的最大时间。

通过适当配置超时时间,可以提高服务器的性能和稳定性。本文将介绍如何在 Nginx 中配置不同类型的超时时间。

编辑nginx.conf,是否存在如下内容:

keepalive_timeout 5 5;    #第一个参数指定客户端连接保持活动的超时时间,第二个参数是可选的,它指定了消息头保持活动的有效时间
client_body_timeout 10;   #设置客户端请求主体读取超时时间
client_header_timeout 10; #设置客户端请求头读取超时时间
send_timeout 10;          #指定响应客户端的超时时间

存在以上内容则合规,否则不合规。

加固步骤:

1、编辑nginx.conf,配置如下内容(如果存在则修改,不存在则新增):

keepalive_timeout 5 5;    #第一个参数指定客户端连接保持活动的超时时间,第二个参数是可选的,它指定了消息头保持活动的有效时间
client_body_timeout 10;   #设置客户端请求主体读取超时时间
client_header_timeout 10; #设置客户端请求头读取超时时间
send_timeout 10;          #指定响应客户端的超时时间

2、重新加载或者重启nginx服务

/usr/local/nginx/sbin/nginx -s reload  ##加载配置/usr/local/nginx/sbin/nginx -s stop   ##停止
/usr/local/nginx/sbin/nginx           ##启动

3、验证配置

##使用命令cat /usr/local/nginx/conf/nginx.conf |sed "/\s*#/d"|sed "/^\s*$/d"|egrep -i "client_body_timeout|client_header_timeout|keepalive_timeout|send_timeout"

输出配置:

在这里插入图片描述

说明:

client_header_timeout变量可以在http,server中使用。
client_body_timeout、keepalive_timeout、sendtimeout变量可以在http,server,location中使用。

需要根据应用场景的需要选择合适的参数值.

1.2 Nginx 限制客户端下载速度&并发连接数

在高并发的网络环境下,限制客户端下载的并发连接数是一种常见的服务器优化策略。

通过限制每个客户端可以同时建立的连接数量,可以有效控制服务器的负载,提高系统的稳定性和性能。本文将介绍如何在 Nginx 中配置限制客户端下载的并发连接数。

1、编辑文件nginx.conf,查看是否存在如下配置:

limit_zone one $binary_remote_addr 10m;
limit_conn one 10;

判定依据:

1).限制了每个ip能发起的并发连接数
2).设置了存储session状态的容器

以上两个条件同时满足则合规,否则不合规。

加固步骤:

配置示例:

在 Nginx 中,可以通过配置 limit_conn_module 模块来限制客户端的并发连接数。该模块可以根据客户端 IP 地址或其他标识符来限制并发连接数。

http
{limit_req_zone $binary_remote_addr zone=req_limit_zone:10m rate=1r/s;limit_conn_zone $binary_remote_addr zone=conn_zone:10m;…… 
server 
{ listen 80 server_name down.nsfocus.com; index index.html index.htm index.php; root /usr/local/nsfocus; #Zone limit; location / { limit_req zone=req_limit_zone burst=5 nodelay;limit_conn conn_zone 10;limit_rate 20k;   #限制每个连接的限制速度为20K,IP的下载速度为连接数*限制速度 }
}……… 
} 

配置指令的含义如下:

limit_req_zone $binary_remote_addr zone=req_limit_zone:10m rate=1r/s;

limit_req_zone: 这是 Nginx 的指令,用于定义一个请求速率限制区域。
$binary_remote_addr: 这是一个 Nginx 内置变量,表示客户端的二进制形式的远程地址。
zone=req_limit_zone:10m: 这里定义了一个名为 req_limit_zone 的请求速率限制区域,大小为 10MB。
rate=1r/s: 这表示在 req_limit_zone 区域内,每秒允许的请求速率为 1 个请求。

limit_conn_zone $binary_remote_addr zone=conn_zone:10m;

limit_conn_zone: 这是 Nginx 的指令,用于定义一个连接数限制区域。
$binary_remote_addr: 这是一个 Nginx 内置变量,表示客户端的二进制形式的远程地址。
zone=conn_zone:10m: 这里定义了一个名为 conn_zone 的连接数限制区域,大小为 10MB。

limit_req zone=req_limit_zone burst=5 nodelay;

limit_req: 这是 Nginx 的指令,用于设置请求速率限制。
zone=req_limit_zone: 这指定了要应用的请求速率限制区域,即之前定义的 req_limit_zone。
burst=5: 这表示在达到请求速率限制时,允许的最大突发请求数为 5。当请求速率超过限制时,允许一定数量的请求突发到达。
nodelay: 这表示不延迟请求,即不等待,立即应用速率限制。

limit_conn conn_zone 10;

limit_conn: 这是 Nginx 的指令,用于设置连接数限制。
conn_zone: 这指定了要应用的连接数限制区域,即之前定义的 conn_zone。
10: 这表示允许的最大连接数为 10。超过这个连接数限制时,新的连接将被拒绝。

limit_rate 20k;

限制每个连接的限制速度为20K,IP的下载速度为连接数*限制速度

(2).重启nginx服务

./nginx -s reload   # 加载nginx配置
./nginx -s stop    # 停止
./nginx   #启动

根据应用场景的需要进行并发数、速度限制 。

注:

limit_zone 这个变量只能在http中使用 
limit_coon和limit_rate变量可以在http,server,location中使用

nginx自从1.1.8版本发布后将limit_conn更换为limit_conn_zone。需要在配置文件中将 limit_zone 修改为 limit_conn_zone,然后重新加载 Nginx 配置文件。

否则会出现错误:

nginx: [emerg] unknown directive "limit_zone" in /usr/local/nginx/conf/nginx.conf:37

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/710895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习图像识别如何处理标签以外的图像?

机器学习图像识别技术是一种基于人工智能的图像处理方法,它通过训练大量的图像数据集来让计算机学习如何识别和分类图像。在图像识别任务中,我们通常需要对图像进行标注和分类,以便让计算机能够从中学习。但是,有时候我们可能会遇…

大数据旅游数据分析:基于Python旅游数据采集可视化分析推荐系统

文章目录 基于Python旅游数据采集可视化分析推荐系统一、项目概述二、项目说明三、开发环境四、功能实现五、系统页面实现用户登录注册系统首页数据操作管理价格与销量分析旅游城市和景点等级分析旅游数据评分情况分析旅游数据评论情况分析旅游景点推荐Django系统后台管理 六、…

【前端早早聊直播回顾】Harmony 时代的跨端方案

上周末,凡泰极客CTO - 徐鹏受邀出席「前端早早聊」直播活动,并以【跨端新挑战-鸿蒙时代的跨端】为主题进行演讲。 摘取部分分享实录: 终端系统的数量和种类不断增长,开发者面临着多平台开发的挑战。以往开发者一般只需要维护iOS、…

2024年3月阿里云服务器大规模价格下调后优惠折扣表

阿里云服务器ECS等核心产品价格全线下调,最高幅度达55%,2024年3月1日生效,针对ECS部分在售产品的官网折扣价、ECS计算型节省计划进行调整,生效后,基于官网折扣价的新购和续费,将按照新的价格进行计费。阿里…

程序媛的mac修炼手册-- Node.js入门篇

最近因为参与一个微信小程序的开发,开始摸索JavaScript。期间,需要基于Node.js安装微信开发工具的依赖项,所以又顺带学习了Node.js的包管理工具npm(Node Package Manager)。不过,之前看到国外的全栈大佬​​…

flutter学习(一) 安装以及配置环境

首先需要下载flutter,然后解压 然后配置环境变量,配置到bin目录就行 配置完之后cmd运行flutter doctor 你就会发现,都是错 此时脑海里响起,卧槽,怎么回事,咋办 别着急,我教你。。。 问题 这…

内网穿透 nas/树莓派+ipv4服务器 (ipv6)

nas 1.有个服务器 2.有个nas https://github.com/snail007/goproxy/blob/master/README_ZH.md https://github.com/snail007/proxy_admin_free/blob/master/README_ZH.md 2个官网一个是程序,一个是网站 手册 https://snail007.host900.com/goproxy/manual/zh/#/?i…

rocketmq+rocket-dashboard win10安装部署+注册为Windows服务

1.1 首先去官网下载zip包 选择自己需要的版本 下载 | RocketMQ 1.2 、下载后,解压到指定目录 1.3、配置RocketMQ环境变量 注意,看对应的版本需要jdk版本 1.4、启动mqnameserver 进入bin目录下,双击启动mqnamesrv.cmd 启动后,…

事物管理(黑马学习笔记)

事物回顾 在数据库阶段我们已学习过事务了,我们讲到: 事物是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功,要么同时…

Gson使用Object接收长数字问题

近期发现公司同事在使用Gson对数字进行反序列列化时出现丢失精度的问题,在这里搬运一下,做个记录~ 现象 使用Gson反序列化长Long数字(大于16位),如果用Object类型来接收则会丢失精度。 Gson会将数字反序列化为double类型,double类型本身就容易丢精度。…

小程序基础

小程序基础 1. 认识什么是小程序 什么是微信小程序 微信小程序是一种运行在微信内部的 轻量级 应用程序。 在使用小程序时 不需要下载安装,用户 扫一扫 或 搜一下 即可打开应用。它也体现了 “用完即走” 的理念,用户不用关心安装太多应用的问题。它…

Metasploit安装及使用教程(非常详细)从零基础入门到精通,看完这一篇就够了。

通过本篇文章,我们将会学习以下内容: 1、在Windows上安装Metasploit 2、在Linux和MacOS上安装Metasploit 3、在Kali Linux中使用 Metasploit 4、升级Kali Linux 5、使用虚拟化软件构建渗透测试实验环境 6、配置SSH连接 7、使用SSH连接Kali 8、配…

JVM运行流程

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:JavaEE 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 JVM 1. 运行流程2. 运行时数据区2.1 堆&am…

ubuntu新建ap热点并分享

测试环境ubuntu16,只有一台笔记本电脑,不插网线,无线网卡既连wifi,又作为热点 1.方法1 直接手动新建ap热点 参考https://jingyan.baidu.com/article/ea24bc39b03fc6da62b331f0.html https://jingyan.baidu.com/article/363872ecd8f35d6e4ba…

机试指南:Ch5:线性数据结构 Ch6:递归与分治

文章目录 第5章 线性数据结构1.向量 vector2.队列 queue(1)队列的特点、应用(2)基本操作(3)例题例题1:约瑟夫问题2 (难度:中等) (4)习题习题1:排队打饭 (难度:中等) 3.栈 stack(1)栈…

前端 JS 经典:Content-type 详解

1. 什么是 Content-Type Content-Type 是 HTTP 协议中的一个请求头或响应头字段,用于指示发送或接收的实体的媒体类型,告诉服务器或客户端如何解析和处理请求或响应的主体部分。 2. Content-Type 的构成 Content-Type 由两部分组成:媒体类型…

视频在线压缩

video2edit 一款免费的在线视频编辑软件,可以进行视频合并、视频剪辑、视频压缩以及转换视频格式等。 链接地址:在线视频编辑器和转换器 - 编辑,转换和压缩视频文件 打开视频压缩页面,上传想要压缩视频,支持MP4&…

收入稳步增长 助力持续发展 尼康发布截至2024年3月财年第三季度财报

近日,尼康截至2024年3月财年的第三季度(2023年10月1日-2023年12月31日)财报正式发布。数据显示,尼康集团第三财季销售收入共计1977亿日元,较去年同期上涨300亿日元,涨幅约17.9%。其中影像业务领域&#xff…

视频记录仪_基于联发科MT6762的智能4G记录仪方案

智能记录仪采用联发科强劲八核处理器,12nm制程工艺的记录仪具便是满足这些需求的理想选择。搭载4GB32GB内存,并运行Android 11.0操作系统,这款记录仪具展现出强劲的性能表现。 首先,这款记录仪具具备优秀的视频录制功能。它能完整…

WPS如何共享文件和文件夹

1 WPS共享单个文件 用WPS打开要分享的文件,点击右上角的“分享”键,选择上传到云端。 之后点击“创建并分享”,即可分享该文档。 2 WPS创建共享文件夹 2.1 如何共享文件夹 首先打开WPS,点击左上角的首页。在首页栏中&#…