中间件-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💖点点关注,收藏不迷路💖

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SD NAND:为车载显示器注入智能与安全的心脏

SD NAND 在车载显示器的应用 在车载显示器上,SD NAND(Secure Digital NAND)可以有多种应用,其中一些可能包括: 导航数据存储: SD NAND 可以用于存储地图数据、导航软件以及车载系统的相关信息。这有助于提…

自主研发!军事医学研究院团队提出 MIDAS,可用于单细胞多组学数据马赛克整合

众所周知,细胞是生命体的最小组成单位,人体内含有 40-60 万亿个细胞,构成了我们生长、发育的基础,在单细胞层面开展研究对于精确理解细胞的生长发育以及疾病的诊断与治疗至关重要。 近年来,单细胞测序技术异军突起&am…

请问如何用busctl命令列出会话总线?

在fedora39中启动ipmid时,如果不带输入参数,根据ipmid中的代码,此时注册的是系统总线,可以通过以下命令看到这条总线: $ busctl list | grep xyz xyz.openbmc_project.Ipmi.Host 199524 try2.out logic…

【菜鸟入门!】Matlab零基础快速入门教程

数学建模竞赛中,编程软件是必不可缺少的,比如大家都熟知的MATLAB多数同学们都会经常用到,今天给大家介绍一些MATLAB的基本元素,希望帮助大家更好的掌握编写基本的函数! 变量和数组 MATLAB 程序的基本数据单元是数组。一…

企业微信变更主体怎么改?

企业微信变更主体有什么作用?做过企业运营的小伙伴都知道,很多时候经常会遇到现有的企业需要注销,切换成新的企业进行经营的情况,但是原来企业申请的企业微信上面却积累了很多客户,肯定不能直接丢弃,所以这…

Linux 模拟实现shell【简单实现】

shell的模拟实现 我们知道shell是一个永不退出的程序,所以他应该是一个死循环,并且shell为了防止影响到自己,我们在命令行上输入的所有命令都是由shell的子进程来执行的,所以它应该要有创建子进程的相关函数,当然也会…

MySQL Strict Mode is not set for database connection ‘default‘

在使用 DJango 框架执行迁移文件的命令时,可以看到出现如下警告: (ll_env) D:\workspace\workspace-mengll\learning-log>python manage.py migrate System check identified some issues: WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set …

springboot232青年公寓服务平台

青年公寓服务平台的设计与实现 摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,房屋信息因为其管理内容繁杂,管理数量繁…

android Service 与 activity 通信 并不断传数据

注:这只是个Demo 以下载为案例,实现开启下载,暂停下载,下载进度不断发送给activity class DownloadService : Service() {override fun onBind(intent: Intent?): IBinder? {return MyBinder()}inner class MyBinder : Binder…

IDEA中的Structure模块使用详解

IDEA中的Structure模块使用详解 类方法的展示 从左往右介绍: 1、最开头的 m 标识是表示为方法,如出现 f 标识则表示为属性; 2、m后面跟着的是方法或者属性的访问修饰符: #红色关闭的锁表示为private; #圆圈表示不带…

postman切换成黑色主题

postman安装以后默认是白色背景,如果想要切换成黑色的,大家可以按照下图箭头指示来操作。 1打开设置 2在Themes页面选择黑色主题

VR危险环境模拟介绍|VR虚拟现实设备

VR危险环境模拟是指利用虚拟现实技术来模拟和展现各种危险环境,以便训练人员应对紧急情况、提高安全意识和应急反应能力。这种模拟可以涉及到工业、医疗、紧急救援等多个领域,旨在帮助人们在真实环境中面对危险时能够做出正确的应对和决策。 VR危险环境…

LeetCode # 206. 反转链表

206. 反转链表 题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例…

深度学习 精选笔记(2)自动求导与概率

学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…

国际数字影像产业园迎来多家企业,数字产业再添“生力军”!

龙年开年,树莓集团总部国际数字影像产业园迎来12家企业,为成都数字产业再添强军。初春2月,也为园区冲刺首季度“开门红”按下“快进键”。 一、正式落地 期待企业更大规模发展 紫荆国际教育集团成立四川东方紫荆教育咨询有限公司&#xff0c…

FCU2601嵌入式控制单元获得开普「电磁兼容检验证书」

近日,飞凌嵌入式专为锂电池储能行业设计的FCU2601嵌入式控制单元获得了开普电磁兼容检验证书,此次性能检验项目包括高频干扰检验、静电放电干扰检验、辐射电磁场干扰检验、快速瞬变脉冲群干扰检验、浪涌干扰检验、工频磁场干扰检验、阻尼振荡磁场干扰检验…

1688以图搜图API接口|c#爬虫-1688官网自动以图搜图

1688item_search_img 拍立淘 背景 在1688有个功能,就是上传图片,就可以找到类似的商品。如下 网址 :https://www.1688.com/ 这时候,我们可以使用程序来代替,大批量的完成图片上传功能。 实现思路 1、找到图片上传…

VR虚拟现实技术应用到猪抗原体检测的好处

利用VR虚拟仿真技术开展猪瘟检测实验教学确保生猪产业健康发展 为了有效提高猪场猪瘟防控意识和检测技术,避免生猪养殖业遭受猪瘟危害,基于VR虚拟仿真技术开展猪瘟检测实验教学数据能大大推动基层畜牧养殖业持续稳步发展保驾护航。 一、提高实验效率 VR虚…

Git安装的一些步骤解说(小白好奇心严重版本)

Use bundled OpenSSH 安装 Git 时,您面临的选择是使用 Git 自带的 SSH 客户端(bundled OpenSSH)还是使用系统上已安装的外部 SSH 客户端(external OpenSSH)。以下是两个选项的一些考虑因素: 使用 Git 自带的…

回溯是怎么回事(算法村第十八关青铜挑战)

组合 77. 组合 - 力扣(LeetCode) 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],…