Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

排查 CORS 问题

如果您在访问设置有 CORS 配置的存储桶时遇到意外行为,请尝试执行以下步骤来排查问题:

  1. 验证对存储桶设置的 CORS 配置。

    有关说明,请参阅 Amazon Simple Storage Service 控制台用户指南 中的编辑存储桶权限。如果设置了 CORS 配置,则控制台在 Properties (属性) 存储桶的 Permissions (权限) 部分中显示 Edit CORS Configuration (编辑 CORS 配置) 链接。

  2. 使用您选择的工具捕获完整请求和响应。对于 Amazon S3 收到的每个请求,必须存在一个与请求中的数据匹配的 CORS 规则,如下所示:

    1. 验证请求是否具有源标头。

      如果缺少该标头,则 Amazon S3 不会将请求视为跨源请求,并且不会在响应中发送 CORS 响应标头。

    2. 验证请求中的源标头是否与指定 AllowedOrigin 中的至少一个 CORSRule 元素匹配。

      源请求标头中的方案、主机和端口值必须与 AllowedOrigin 中的 CORSRule 元素匹配。例如,如果设置 CORSRule 以允许源 http://www.example.com,则请求中的 https://www.example.comhttp://www.example.com:80 都与配置中允许的源不匹配。

    3. 验证请求中的方法 (在预检请求中,则为在 Access-Control-Request-Method 中指定的方法) 是否为同一 AllowedMethod 中的 CORSRule 元素之一。

    4. 对于预检请求,如果请求包含 Access-Control-Request-Headers 标头,请验证对于 CORSRule 标头中的每个值,AllowedHeader 是否包含 Access-Control-Request-Headers 条目。