排查 CORS 问题 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

排查 CORS 问题

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

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

    如果设置了 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 条目。