2022-01-18 作者 :觉醒网站网 围观 : 0次
大家好,今天小编关注到一个比较有意思的话题,就是关于虚拟主机如何Gzip的问题,于是小编就整理了1个相关介绍虚拟主机如何Gzip的解答,让我们一起看看吧。
Nginx作为一款高性能的Web代理和负载均衡服务器,往往会部署在一些互联网应用比较前置的位置。此时,我们就可以在Nginx上进行设置,对访问的IP地址和并发数进行相应的限制。
Nginx官方版本限制IP的连接和并发分别有两个模块:
下面配置可以限制特定UA(比如搜索引擎)的访问:
其他参数
当服务器由于limit被限速或缓存时,配置写入日志。延迟的记录比拒绝的记录低一个级别。例子:limit_req_log_level notice延迟的的基本是info。
Nginx服务器可以通过使用Nginx的limit_req模块来限流。limit_req模块可以限制单个客户端在给定的时间内发送的请求数量,从而防止恶意攻击或者网站被拖垮。
具体的配置方法如下:
1. 在Nginx配置文件中添加limit_req模块:
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
2. 在需要限流的location中添加limit_req模块:
location / {
limit_req zone=one burst=5;
}
上面的配置表示,对于每个客户端,每秒最多只能发送1个请求,并且最多可以累积5个请求。
详情见:nginx如何限流参数配置
为了防止用户的恶意访问,可以在在nginx设置限流,防止服务发生雪崩效应
Nginx限流分为两种
一是根据ip控制速率
二是控制并发连接数
1》 根据ip控制速率限流的配置
在http模块添加配置
binary_remote_addr 是一种key,表示基于 remote_addr(客户端IP) 来做限流,binary_ 的目的是压缩内存占用量。
zone:定义共享内存区来存储访问信息, contentRateLimit:10m 表示一个大小为10M,名字为contentRateLimit的内存区域。
1M能存储16000 IP地址的访问信息,10M可以存储16W IP地址访问信息。
rate 用于设置最大访问速率,rate=10r/s 表示每秒最多处理10个请求。
Nginx 实际上以毫秒为粒度来跟踪请求信息,因此 10r/s 实际上是限制:每100毫秒处理一个请求。这意味着,自上一个请求处理完后,若后续100毫秒内又有请求到达,将拒绝处理该请求.
给某个location配置limit_req
到此,以上就是小编对于虚拟主机如何Gzip的问题就介绍到这了,希望介绍关于虚拟主机如何Gzip的1点解答对大家有用。