安全更新:Docker 镜像从 v0.4.0-rc.1 起已修复 FFmpeg MagicYUV 解码器漏洞 CVE-2026-8461(高危),使用旧镜像的实例请立即升级。查看 CVE 公告
安全更新:v0.4.0-beta.3 已修复 WebDAV 请求可导致服务进程终止的问题,旧版本实例请尽快升级。查看安全公告
访问限流
[network_trust]trusted_proxies = []
[rate_limit]enabled = false
[rate_limit.auth]seconds_per_request = 2burst_size = 5
[rate_limit.public]seconds_per_request = 1burst_size = 30
[rate_limit.api]seconds_per_request = 1burst_size = 120
[rate_limit.write]seconds_per_request = 2burst_size = 10什么时候建议开
Section titled “什么时候建议开”- 服务直接暴露在公网
- 想拦登录入口的暴力尝试
- 想拦公开分享页被频繁探测
- 想控制高成本写操作的瞬时压力
四组规则分别管什么
Section titled “四组规则分别管什么”| 分组 | 作用 |
|---|---|
auth | 登录、注册、刷新令牌、分享密码验证等敏感操作 |
public | 公开分享页和匿名访问 |
api | 已登录用户的大多数日常操作 |
write | 批量操作、管理后台等高成本写操作 |
两个旋钮怎么理解
Section titled “两个旋钮怎么理解”| 设置项 | 作用 |
|---|---|
seconds_per_request | 平均多久允许一次请求(令牌补充速率) |
burst_size | 短时间内允许的突发请求数(令牌桶上限) |
例:
[rate_limit.auth]seconds_per_request = 2burst_size = 5同一来源 IP 在认证类访问上可以先连续发出 5 个请求,之后按”每 2 秒一个”补充配额。
触发后用户看到什么
Section titled “触发后用户看到什么”- 服务端返回
429 Too Many Requests - 响应头带
Retry-After - 前端会显示”稍后再试”
反向代理后面怎么配
Section titled “反向代理后面怎么配”默认 [network_trust].trusted_proxies = [] 是最安全的配置:AsterDrive 会忽略 X-Forwarded-For,直接按实际连接来源 IP 限流,避免被伪造 XFF 绕过;但在反向代理后面,服务端通常只能看到代理地址。反向代理部署的完整说明见 反向代理。
如果你的部署是:
- Nginx / Caddy 反代到 AsterDrive
- Docker 网桥
- 任何让所有请求都从同一个代理地址进入的网络拓扑
那就把你自己控制的代理 IP / CIDR 放进 trusted_proxies:
[network_trust]trusted_proxies = ["127.0.0.1", "172.16.0.0/12"]
[rate_limit]enabled = true规则很简单:
- 只有连接来源 IP 命中
trusted_proxies时,AsterDrive 才会读取X-Forwarded-For最左侧的客户端 IP - 连接来源不可信时,
X-Forwarded-For会被忽略,继续按实际连接 IP 限流 trusted_proxies支持单 IP 和 CIDR,例如127.0.0.1、10.0.0.0/8、172.16.0.0/12- 不要把不受你控制的公网段放进去,这等于相信别人帮你报真实 IP
- 这组
trusted_proxies也会影响认证会话里按客户端 IP 做的复用判断,所以它必须和你的真实反向代理拓扑一致,不能只顾限流不顾登录安全
如果你不想在应用层处理这件事,也可以继续关掉 AsterDrive 限流,把限流交给反向代理(Nginx limit_req、Caddy rate_limit、Traefik RateLimit 中间件)。但不建议两边都配置得很紧,否则排障时容易混淆。
- 第一次启用保守一点,
burst_size不要设得太小 - 对外开放公开分享页时,重点关注
auth和public - 反代后先确认
trusted_proxies覆盖的是代理到 AsterDrive 的那一跳,不一定是公网入口 IP - 不确定时先在测试环境观察一段时间再上