四、存储与基础设施
阿里云 OSS 四项五步配置法(独立部署必配)+ 上传报错对照表;向量库已收隐无需配置。
本篇主要面向独立部署客户:共用部署(服务商模式)下 OSS 与向量库走总部配置,无需自配。托管/自配只决定 AI 密钥谁出,与本篇的存储配置是两回事。
阿里云 OSS 四项(独立部署必配)
配置位置:系统设置 → 存储 → 阿里云 OSS 文件存储。
功能:图片/视频/素材等所有用户上传文件的存储。采用 PostObject 签名直传,服务端只下发 30 分钟有效的签名策略,主密钥不进浏览器,无需创建 RAM 角色。
四项参数对照(页面 4 个输入框分别从哪里拿值):
| 页面字段 | 从哪里得到 |
|---|---|
| AccessKey ID | RAM 子账号的 AccessKey ID(LTAI 开头) |
| AccessKey Secret | 同一 RAM 子账号的 AccessKey Secret |
| Endpoint | Bucket 概览页「外网访问 → Endpoint」(如 oss-cn-shenzhen.aliyuncs.com) |
| Bucket | Bucket 名称 |
按下面 5 步操作即可完成,全程约 15 分钟。
第 1 步:注册阿里云账号并完成实名认证
- 打开 https://www.aliyun.com ,注册阿里云账号(可用手机号注册,或用支付宝/淘宝账号直接登录);
- 完成实名认证(个人或企业均可):控制台右上角头像 → 实名认证,按提示提交;
- OSS 为按量付费(按存储量 + 外网流出流量计费),无需预购套餐,正常业务量级费用很低。
第 2 步:创建 Bucket(得到 Bucket 名称 + Endpoint)
- 打开 OSS 控制台:https://oss.console.aliyun.com ,左侧「Bucket 列表」→「创建 Bucket」;
- 按下表填写(加粗项为关键):
| 配置项 | 怎么填 | 说明 |
|---|---|---|
| Bucket 名称 | 如 xxx-files |
全局唯一,只能小写字母/数字/连字符;创建后不可改名 |
| 地域 | 与部署服务器同一地域(如服务器在深圳就选「华南1 深圳」) | 跨地域则上传下载都走公网,更慢 |
| 存储类型 | 标准存储 | |
| 读写权限 | 公共读 | 选「私有」会导致上传的图片/视频在系统里无法显示、无法播放 |
| 版本控制/加密/日志等 | 保持默认 |
- 创建完成后记录两样东西:Bucket 名称;再进入该 Bucket 的「概览」页,在「访问端口 → 外网访问」处记录 Endpoint(如
oss-cn-shenzhen.aliyuncs.com)。注意取外网 Endpoint,不要复制「内网 Endpoint」(-internal结尾的那个)。
第 3 步:创建 RAM 子账号并授权(得到 AccessKey ID + Secret)
- 打开 RAM 访问控制台:https://ram.console.aliyun.com/users →「创建用户」:登录名如
oss-uploader,勾选「OpenAPI 调用访问」即可(无需勾选控制台密码登录,也无需创建 RAM 角色); - 创建成功页会立刻显示 AccessKey ID(
LTAI…开头)与 AccessKey Secret——Secret 只完整显示这一次,务必马上复制保存;关掉页面后无法再查,丢了只能重新创建; - 回到 RAM 控制台「权限管理 → 权限策略 → 创建权限策略」,切到「脚本编辑」页签,粘贴以下内容,并把其中
my-bucket两处替换成第 2 步的 Bucket 名称:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": ["oss:PutObject", "oss:GetObject", "oss:DeleteObject"],
"Resource": ["acs:oss:*:*:my-bucket", "acs:oss:*:*:my-bucket/*"]
}
]
}
- 保存策略(可命名
oss-my-bucket-rw),然后回到该用户详情页 →「权限管理 → 新增授权」,把这条策略授予oss-uploader。
安全提醒:不要图省事用阿里云主账号的 AccessKey——主账号 AK 可操作账号内全部资源,泄露即全线失守;按上述方式建的专用子账号只动得了这一个 Bucket。
第 4 步:配置 Bucket 的 CORS 跨域规则(放行 POST)
- 回到 OSS 控制台 → 该 Bucket →「数据安全 → 跨域设置」→「创建规则」;
- 按下表填写:
| 配置项 | 怎么填 |
|---|---|
| 来源 Origin | 系统实际访问的所有域名,如 https://ai.example.com(带协议头,多个域名一行一个) |
| 允许 Methods | 勾选 POST |
| 允许 Headers | * |
| 隐藏 Headers | 不填 |
- 保存。排查问题时可暂时把来源填
*快速验证,跑通后务必改回具体域名。
第 5 步:回系统填写四项并验证
- 系统设置 → 存储 → 阿里云 OSS 文件存储,按开头「四项参数对照」把 4 个值填入对应输入框(Endpoint 带不带
https://均可,系统会自动归一化); - 点「保存本页设置」,重新进入本页回读确认 4 项均已保存;
- 验证:到素材库(或任意带上传入口的页面)上传一张图片,能在页面里正常显示即配置成功。
上传报错对照表:
| 现象 | 原因 | 处理 |
|---|---|---|
| 上传报 403 AccessDenied | 子账号策略未挂上,或策略里 my-bucket 没替换成真实 Bucket 名 |
检查第 3 步第 4 点:Bucket 名必须完全一致 |
| 浏览器控制台报 CORS 错误 / 请求被跨域拦截 | CORS 规则未保存,或来源里不含当前访问域名 | 检查第 4 步:来源需含当前域名且带 https:// |
| 上传成功但图片不显示、视频不能播放 | Bucket 读写权限不是「公共读」 | Bucket「概览 → 读写权限」改为公共读 |
| 保存时提示 Endpoint 格式不正确 | 填了内网 Endpoint(-internal 结尾)或非官方端点 |
填外网 Endpoint,如 oss-cn-shenzhen.aliyuncs.com |
| 上传报 SignatureDoesNotMatch | AccessKey Secret 复制错了(混入空格/少字符) | 删除这对 AK 重新创建,重新复制填入 |
向量数据库(已收隐,无需配置)
独立部署的向量库(Milvus)随部署时装在服务器本机,系统默认使用本机地址,配置面不再露出,无需手工填写。若系统体检提示向量库异常,联系交付负责人处理(总部账号也可在 系统设置 → 部署向导 中排查)。