S3 完整配置 · MinIO
MinIO 详细配置
本指南帮助你在自托管 MinIO 上创建 Bucket、用户凭证与 CORS,并完成虾传对接。
适用场景
- 内网或自建机房部署对象存储。
- 需要完全掌控数据位置与网络路径。
准备工作
- 已部署 MinIO Server 与 MinIO Console(或通过
mc管理)。 - 确认浏览器访问虾传 Web 的 Origin(含协议、主机、端口)。
创建 Bucket
- 登录 MinIO Console。
- Buckets → Create Bucket,名称如
ultrasend-relay。 - 访问策略保持私有。

记录 S3 API 地址,例如:
https://minio.example.com:9000
创建访问用户
- Identity → Users → Create user。
- 生成 Access Key 与 Secret Key。
- 在 Policies 中创建或附加策略,允许目标 Bucket 的对象读写与分片操作。

配置 CORS
- 选中 Bucket → Summary / Access Rules → CORS(或通过
mc admin config)。 - 必须包含浏览器打开前端的完整 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。

填写虾传设置
| 字段 | 示例 |
|---|---|
| Endpoint | https://minio.example.com:9000 |
| Region | us-east-1(MinIO 默认,与部署配置一致即可) |
| Bucket | ultrasend-relay |
| Path-style | 开启(MinIO 通常需要) |
| Access Key ID | MinIO Access Key |
| Secret Access Key | MinIO Secret Key |


测试连接
若测试失败,检查:Endpoint 是否从浏览器网络可达、TLS 证书是否有效、Path-style 是否开启。
常见问题
局域网 Web + 公网 MinIO? CORS Origin 必须是 浏览器地址栏 的 Origin,不是 MinIO 地址。
混合内容 blocked? HTTPS 页面请求 HTTP MinIO 会被浏览器拦截,需统一 HTTPS 或本地开发用 HTTP 页面。
Signature 错误? 确认 Path-style 与 Endpoint 格式(不要重复路径 /bucket)。