本文主要介绍跨域资源共享(Cross Origin Resource Sharing,简称CORS)配置的常见错误及解决方案。
CORS的配置方法一般是针对每个访问来源单独配置规则,勿将多个来源加到一个规则,多个规则之间不要有覆盖冲突。其它的选项只开放需要的权限即可。CORS配置有以下几项:
http://10.X.X.100:8001
或https://www.aliyun.com
。注意,不要遗漏了协议名http或https,如果端口不是默认的80,还需要带上端口。如果不能确定域名,可以打开浏览器的调试功能,查看Header中的Origin。域名支持*通配符,每个域名中允许最多使用一个*,例如https://*.aliyun.com
。如果来源指定为*,则表示允许所有来源的跨域请求。CORS配置错误会报以下错误:
OPTIONS http://bucket.oss-cn-beijing.aliyuncs.com/ XMLHttpRequest cannot load http://bucket.oss-cn-beijing.aliyuncs.com/. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '{yourwebsiet}' is therefore not allowed access. The response had HTTP status code 403.
<Code>AccessForbidden</Code> <Message>CORSResponse: This CORS request is not allowed. This is usually because the evalution of Origin, request method / Access-Control-Request-Method or Access-Control-Requet-Headers are not whitelisted by the resource's CORS spec.</Message>
说明:
- CORS报错一般是站点类应用导致,浏览器中可以查看请求详情。如Chrome浏览器,按F12打开开发者工具,在Network中查看相应元素。
- OSS返回的错误可以通过抓包获取。如使用Wireshark,筛选器可以指定为域名,即[$Bucket_Name].oss-cn-beijing.aliyuncs.com,[$Bucket_Name]为Bucket名称。
- OSS返回的错误也可以通过CORS的oss-h5-upload-js-direct调试程序获取。
CORS可能出现的错误以下所示。
登录OSS控制台,选择Bucket后,单击权限管理,在 下述配置。
在文档使用中是否遇到以下问题
更多建议
匿名提交