You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dropzone多文件上传返回403 Forbidden,如何配置mod_evasive?

解决mod_evasive拦截Dropzone多文件上传的配置方案

你的问题是Dropzone并行上传多个文件时,触发了mod_evasive的请求频率限制,导致部分请求返回403。mod_evasive是Apache的防DDOS模块,默认阈值会限制短时间内同一IP对同一页面的请求次数,而Dropzone默认会并行发起多个上传请求,刚好触碰到这个限制。

以下是具体的配置调整步骤:

1. 定位mod_evasive配置文件

根据服务器系统,配置文件路径通常为:

  • CentOS/RHEL:/etc/httpd/conf.d/mod_evasive.conf
  • Ubuntu/Debian:/etc/apache2/mods-available/evasive.conf

如果找不到,可通过命令搜索:find / -name "mod_evasive*.conf"

2. 调整核心参数

编辑配置文件,修改以下参数(数值可根据实际负载微调):

<IfModule mod_evasive24.c>
    # 哈希表大小,按需调整以适配更多IP请求
    DOSHashTableSize    6144
    # 同一上传API在时间窗口内允许的请求次数,调大适配Dropzone并行上传
    DOSPageCount        20
    # 同一站点在时间窗口内允许的总请求次数
    DOSSiteCount        200
    # 检测单个页面请求频率的时间窗口(秒),延长窗口减少误判
    DOSPageInterval     5
    # 检测站点总请求频率的时间窗口(秒)
    DOSSiteInterval     5
    # 触发限制后封禁IP的时长(秒),缩短避免影响正常上传
    DOSBlockingPeriod   5
    # 可选:添加白名单IP/IP段(如内部测试地址)
    # DOSWhitelist        192.168.1.0/24
</IfModule>

参数说明:

  • DOSPageCount:核心调整项,Dropzone默认并行上传6个文件,需设置为大于6的数值(建议20+),确保25个文件的上传请求都能通过。
  • DOSPageInterval/DOSSiteInterval:默认1秒的窗口过于严格,延长到5秒可给上传请求足够的时间缓冲。

3. 重启Apache生效

保存配置后重启Apache服务:

  • CentOS/RHEL:systemctl restart httpd
  • Ubuntu/Debian:systemctl restart apache2

4. 验证效果

重新测试一次性上传25个文件,确认403错误是否消失。若仍存在问题,可进一步调大DOSPageCount和DOSSiteCount的数值,或延长时间窗口。

另外也可临时调整Dropzone前端配置(设置parallelUploads: 5)降低并行数,但会影响上传效率,优先推荐调整mod_evasive配置。

内容的提问来源于stack exchange,提问作者luca ditrimma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 17:08:10