
S3报错看过来 FileCodeBox 文件快递柜 S3 腾讯云配置方法
一、前言
使用 FileCodeBox 文件快递柜 对接腾讯云 COS 兼容 S3 存储时,经常出现以下报错:
OPTIONS 403 Forbidden
No Access-Control-Allow-Origin 跨域拦截
文件上传转圈、一直失败
99% 问题就两个原因:
1. S3 服务端点 URL 格式填写错误
2. 腾讯云 COS 跨域 CORS 配置不对
二、FileCodeBox 后台 S3 存储配置
后台 → 系统设置 → 存储配置,选择 S3 对象存储:
| 存储方式 | S3 对象存储 |
| Access Key ID | 自己腾讯云 AccessKey |
| Secret Access Key | 自己腾讯云 SecretKey |
| 存储桶名称 | 你的 COS 存储桶名 |
| 服务端点 URL | https://桶名.cos.地域.myqcloud.com |
| 区域名称 | ap-chengdu / 对应自己地域 |
| 签名版本 | S3v4 |
重点必看:
错误写法:
正确写法:
服务端点必须带桶名,不带必报 403 跨域错误。
错误写法:
https://cos.ap-chengdu.myqcloud.com正确写法:
https://你的桶名.cos.ap-chengdu.myqcloud.com服务端点必须带桶名,不带必报 403 跨域错误。
三、腾讯云 COS 跨域 CORS 配置
存储桶 → 安全管理 → 跨域访问 CORS 设置 → 添加规则
| 来源 Origin | 填写你的网站域名,测试可临时填 * |
| 允许请求方法 | PUT、GET、POST、DELETE、HEAD |
| 允许请求头 | * |
| 暴露响应头 | ETag,x-cos-request-id |
| 超时时间 | 3600 |
| 返回 Vary: Origin | 勾选 |
四、常见报错解决方案
1、OPTIONS 403 Forbidden
原因:端点没带桶名、跨域规则不匹配
解决:改成带桶名完整域名,重新保存跨域配置
2、无 Access-Control-Allow-Origin
原因:跨域未生效、域名协议不匹配
解决:等待1-3分钟同步,浏览器强制刷新或无痕测试
3、上传一直转圈
检查 AK、SK、桶名、地域、端点是否全部对应一致。
五、配置生效步骤
1、保存 FileCodeBox 存储配置
2、重启 FileCodeBox 服务
3、浏览器 Ctrl+Shift+R 强制刷新
4、无痕模式测试上传下载
六、安全建议
1、COS 存储桶权限保持 私有读写
2、正式环境不要用 * 泛来源跨域
3、AK/SK 不要对外泄露,定期轮换密钥
七、总结
FileCodeBox 对接腾讯云 COS 核心两点:
服务端点 URL 必须带桶名 + 正确配置 CORS 跨域
按本教程配置可解决全部 S3 上传跨域报错。
Comments NOTHING