S3 完整配置 · MinIO

MinIO 详细配置

本指南帮助你在自托管 MinIO 上创建 Bucket、用户凭证与 CORS,并完成虾传对接。

适用场景

  • 内网或自建机房部署对象存储。
  • 需要完全掌控数据位置与网络路径。

准备工作

  1. 已部署 MinIO Server 与 MinIO Console(或通过 mc 管理)。
  2. 确认浏览器访问虾传 Web 的 Origin(含协议、主机、端口)。

创建 Bucket

  1. 登录 MinIO Console
  2. Buckets → Create Bucket,名称如 ultrasend-relay
  3. 访问策略保持私有。
MinIO 创建 Bucket
MinIO 创建 Bucket

记录 S3 API 地址,例如:

https://minio.example.com:9000

创建访问用户

  1. Identity → Users → Create user
  2. 生成 Access Key 与 Secret Key。
  3. Policies 中创建或附加策略,允许目标 Bucket 的对象读写与分片操作。
MinIO 用户与 Access Key
MinIO 用户与 Access Key

配置 CORS

  1. 选中 Bucket → Summary / Access Rules → CORS(或通过 mc admin config)。
  2. 必须包含浏览器打开前端的完整 Origin,例如:
[
  {
    "AllowedOrigins": ["https://xiachuan.net", "http://localhost:3000"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedHeaders": ["*"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 86400
  }
]

内网部署时 Origin 需带端口,如 http://192.168.1.10:3000

MinIO CORS 配置
MinIO CORS 配置

填写虾传设置

字段示例
Endpointhttps://minio.example.com:9000
Regionus-east-1(MinIO 默认,与部署配置一致即可)
Bucketultrasend-relay
Path-style开启(MinIO 通常需要)
Access Key IDMinIO Access Key
Secret Access KeyMinIO Secret Key
MinIO Endpoint 配置
MinIO Endpoint 配置
虾传 S3 设置页
虾传 S3 设置页

测试连接

若测试失败,检查:Endpoint 是否从浏览器网络可达、TLS 证书是否有效、Path-style 是否开启。

常见问题

局域网 Web + 公网 MinIO? CORS Origin 必须是 浏览器地址栏 的 Origin,不是 MinIO 地址。

混合内容 blocked? HTTPS 页面请求 HTTP MinIO 会被浏览器拦截,需统一 HTTPS 或本地开发用 HTTP 页面。

Signature 错误? 确认 Path-style 与 Endpoint 格式(不要重复路径 /bucket)。