centos 禁止某个域名下载超过9M大小的文件
可以通过配置 Apache 或 Nginx 的限制来实现禁止某个域名下载超过9M大小的文件。以下是两种方法:
方法一:使用 Apache 的 mod_limitipconn 模块
- 安装 mod_limitipconn 模块:
yum install mod_limitipconn
- 在 Apache 配置文件中添加以下行:
<LocationMatch "/downloads/">
SetHandler download
SetEnvIf Request_URI "\.(jpg|png|gif|pdf)$" requested_file
Order deny,allow
Deny from all
Allow from env=requested_file
MaxConnPerIP 1
LimitRequestBody 9216000
</LocationMatch>
上述配置将限制每个 IP 地址在 /downloads/ 目录下的请求同时只能下载一个文件,并且限制每个请求的请求体大小为9M。
方法二:使用 Nginx 的 ngx_http_limit_req_module 模块
- 在 Nginx 配置文件中添加以下行:
http {
limit_req_zone $binary_remote_addr zone=download:10m rate=5r/s;
server {
location /downloads/ {
limit_req zone=download burst=10 nodelay;
limit_rate 9m;
}
}
}
上述配置将限制每个 IP 地址在 /downloads/ 目录下的请求同时只能下载一个文件,并且限制每个请求的速率为9M/s,同时限制每个 IP 地址每秒钟最多只能发起5个请求
原文地址: https://www.cveoy.top/t/topic/eB1Y 著作权归作者所有。请勿转载和采集!