「四川联想代理」如何限制NGINX联想服务器中的连接数(请求数)

成都联想服务器总代理 112 2023-05-26 https://www.lenovocd.com/ 成都联想服务器总代理

我们在使用香港服务器的Linux系统中,我们常常使用NGINX部署网站,它附带了各种模块,允许用户控制其网站、Web 应用程序以及其他 Web 资源的流量。四川联想代理限制流量或访问的关键原因之一是防止某些类型的滥用或攻击,例如DDoS(拒绝服务)攻击。

四川联想服务器经销商

通常在NGINX中有三种主要的限制使用或流量的方法:

①限制连接(请求)的数量。

②限制请求的速率。

③限制带宽。

上面的NGINX流量管理方法可以根据用例配置为基于定义的密钥进行限制,最常见的是客户端的 IP 地址。NGINX 还支持其他变量,例如会话 cookie 等等。

我们今天将讨论如何限制NGINX中的连接数以保护您的网站/应用程序。

请记住,只有当服务器正在处理请求并且整个请求标头已被读取时, NGINX才会考虑限制连接。因此,并非所有客户端连接都被计算在内。

一、限制 NGINX 中的连接数

首先,您需要使用limit_conn_zone指令定义一个共享内存区域,用于存储各种键的连接指标。如前所述,密钥可以是文本、变量(例如客户端的远程 IP 地址)或两者的组合。

这个在 HTTP 上下文中有效的指令有两个参数:key 和zone(格式为 zone_name:size)。

limit_conn_zone $binary_remote_addr zone=limitconnbyaddr:20m;

要设置返回给被拒绝请求的响应状态代码,请使用将HTTP 状态代码作为参数的limit_conn_status指令。它在 HTTP、服务器和位置上下文中有效。

limit_conn_status 429;

要限制连接,请使用limint_conn指令设置要使用的内存区域和允许的最大连接数,如以下配置片段所示。该指令在 HTTP、服务器和位置上下文中有效。

limit_conn limitconnbyaddr 50;

这是完整的配置:

保存文件并关闭它。

然后通过运行以下命令检查NGINX配置是否正常:

$ sudo nginx -t

接下来,重新加载NGINX服务以影响最近的更改:

$ sudo systemctl reload nginx

二、检查 Nginx 连接限制

当客户端超过允许的最大连接数时,NGINX会向客户端返回“ 429 Too many requests ”错误

三、限制 Nginx 与应用程序的连接数

您还可以通过使用$server_name变量来限制给定服务器的连接数:

此配置使NGINX能够将与为应用程序testapp.Lenovohs.cnet提供支持的虚拟服务器的连接总数限制为2000个连接。

注意:基于客户端 IP 限制连接有一个缺点。您最终可能会限制不止一个用户的连接,特别是如果访问您的应用程序的许多用户都在同一个网络上并且在NAT后面运行——他们的所有连接都来自同一个 IP 地址。

在这种情况下,您可以使用 NGINX 中可用的一个或多个变量,这些变量可以在应用程序级别识别客户端,例如会话 cookie。

成都联想代理www.lenovocd.com


【公司名称】成都鸿盛广达科技有限公司

【代理级别】成都联想服务器总代理

【销售经理】成都鸿盛广达科技有限公司

【联系方式】座机:028-85952921 手机:13981931555

【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼