可以通过配置 Apache 或 Nginx 的限制来实现禁止某个域名下载超过9M大小的文件。以下是两种方法:

方法一:使用 Apache 的 mod_limitipconn 模块

  1. 安装 mod_limitipconn 模块:
yum install mod_limitipconn
  1. 在 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 模块

  1. 在 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个请求

centos 禁止某个域名下载超过9M大小的文件

原文地址: https://www.cveoy.top/t/topic/eB1Y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录