配置阿里云OSS图片存储需完成三件事:创建公共读Bucket、正确填写AccessKey与外网Endpoint、确保图片Content-Type为image/*且Content-Disposition为inline;注意关闭“阻止公共访问”,禁用“公共读写”,敏感资源使用私有Bucket+预签名URL。

配置阿里云OSS存储图片,核心是完成三件事:创建可公开访问的存储空间(Bucket)、获取并填写认证凭据、确保上传后的图片能被正常预览显示。下面分步说明关键操作和常见避坑点。
创建Bucket并设置公开读权限
进入OSS控制台 → 点击【创建Bucket】→ 填写唯一名称(如myblog-images)和就近地域(如华东1杭州)→ 存储类型选“标准存储”→ 访问权限必须选“公共读”。
注意:默认是“私有”,若不改,图片链接会返回403错误;“公共读写”风险极高,切勿在生产环境启用。
创建后进入该Bucket → 左侧【权限控制】→ 【读写权限】确认为“公共读”;同时检查【阻止公共访问】开关是否已关闭(新版控制台默认开启,需手动关闭)。
获取并填写AccessKey与Endpoint
前往【AccessKey管理】(路径:右上角头像 → AccessKey管理)→ 创建子用户(推荐)或使用主账号AK → 获取AccessKey ID和AccessKey Secret。
回到Bucket详情页 → 【概览】→ 找到“外网Endpoint”,格式类似https://oss-cn-hangzhou.aliyuncs.com(注意不是内网地址)。
将以下三项填入你所用平台(如CMS、图床工具、代码配置)的对应字段:
-
存储空间名称:即Bucket名称(如
myblog-images) - EndPoint(外网):上面复制的外网Endpoint
- AccessKey ID / Secret:从AccessKey管理页获取
上传后图片无法预览?重点检查这两项
即使配置正确,也可能出现点击链接只下载不显示、或提示XML报错。这时需确认:
-
HTTP头部Content-Disposition:若图片被强制下载,在OSS控制台找到该文件 → 【编辑元信息】→ 将
Content-Disposition设为inline(非attachment) -
文件Content-Type:上传时未指定类型,OSS可能识别为
binary/octet-stream。可在控制台编辑元信息,将Content-Type改为image/jpeg、image/png等对应类型
如果是程序上传(如Java SDK),应在ObjectMetadata中显式设置这两项,而非依赖自动识别。
安全提醒:别忽略权限最小化原则
开发测试阶段用“公共读”方便调试,但上线后建议转向更安全的模式:
- Bucket设为“私有”,单个图片对象仍可设为“公共读”(Object ACL),兼顾灵活性与安全性
- 敏感图片一律私有,通过后端调用
generatePresignedUrl生成带签名的临时链接,过期自动失效 - AccessKey绝不硬编码在前端或公开代码中,应存于服务端环境变量或密钥管理服务

















