阿里云OSS直传失效排查:跨域配置的3个隐藏雷区
最近给客户部署OSS直传功能时,整整折腾了两天才解决问题。明明按照文档配了CORS规则,前端却一直报跨域错误。把踩坑过程记下来,希望能帮到遇到同样问题的站长。
第一个坑是文档没写清楚时间格式。阿里云控制台显示的GMT时间,但实际配置要用UTC+8。我当时按界面显示的时间填,结果规则死活不生效。后来在F12看到实际请求时间相差8小时,才反应过来。
第二个坑出在AllowedMethod配置。测试时只写了POST,但实际前端用了OPTIONS预检请求。这个在Chrome开发者工具的Network里能看到,预检请求返回405直接导致后续请求被拦截。
最坑的是第三个:OSS控制台修改规则后要等2-3分钟才生效!我一开始以为是配置错误反复修改,后来才发现要等缓存刷新。建议每次修改后先用curl测试,别像我一样傻傻刷新页面半小时...
最后附上正确配置模板: AllowedOrigin: 你的域名(要带协议头) AllowedMethod: POST,GET,OPTIONS ExposeHeaders: ETag MaxAgeSeconds: 600
最新打赏

