Amazon Simple Storage Service
开发人员指南 (API Version 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 条目。