Skip to content

远程存储(S3) ​

安装包很大或需要 CDN 时使用对象存储。本机磁盘足够时见 本机磁盘存储。

兼容 MinIO、Cloudflare R2、AWS S3。storage.driver: s3。

公钥桶 storage.s3 ​

参数类型默认说明何时改
endpointstring""API 端点MinIO/R2 必填;AWS 可留空走默认
regionstringauto区域AWS 填真实区域;R2 可保持 auto
bucketstring""公开产物桶driver=s3 时必填
access_key / secret_keystring""访问密钥最小权限:Put/Get 公开对象;用环境变量注入
use_path_stylebooltrue路径风格AWS 虚拟主机风格可改 false
public_base_urlstring""对外下载根;空则按 endpoint+bucket 拼匿名 GET上 CDN 时指到 CDN 源

环境变量:KIRIVERS_STORAGE_S3_*、KIRIVERS_STORAGE_S3_PUBLIC_BASE_URL。

私密桶 storage.private ​

GeoIP MMDB 等敏感对象。driver=s3 且未配 private bucket 时 GeoIP 上传失败,不得写入公共桶。键:KIRIVERS_STORAGE_PRIVATE_*。

不要把安装包和 GeoIP 放进同一个桶。

多节点下载 ​

必须同时 storage.driver=s3 与 cache.driver=redis,见 多节点。

  • cluster.download: s3:check 给出公共对象 URL(可走 CDN)。
  • cluster.download: local:应用节点代拉;check 使用 private, no-store。

失败时看进程存储日志(mod=storage)。对象存储 SDK 调用不是运维步骤。

当前项目 PATCH 拒绝 storage_visibility=private。签名 URL 仍用于 local-proxy 等路径。见 CDN 与下载。