跨域访问

最后更新时间:2021-07-01 11:34:36

    什么是跨域访问?如何设置?

    跨域访问即通过 HTTP 请求,从一个域去请求另一个域的资源。只要协议、域名、端口有任何一个不相同,都会被当作是不同的域。控制台操作步骤请参见 设置跨域访问跨域访问 最佳实践文档。

    配置跨域访问后,携带白名单内的头部访问 COS 被拒绝,该如何处理?

    访问被拒绝的可能原因如下:

    1. 检查您的配置是否与您携带的头部一致,查看是否存在不可见字符,例如空格。
    2. 检查您发起请求的域名信息,如果您使用 CDN 加速域名访问,需要在 CDN 控制台进行跨域配置,可参考 自定义响应头配置
    3. 检查您的存储桶权限状态,判断您的访问是否符合存储桶的授权。
    4. 检查您的浏览器缓存情况,可能是由于浏览器缓存导致的报错,可通过 Ctrl+F5 强制刷新浏览器或在浏览器【Network】选项卡中勾选 Disable cache 解决。

    如何设置存储桶里的文件 headers 返回“Access-Control-Allow-Origin:* ”?

    进行跨域设置,设置 Origin 为*。详情请参见 设置跨域访问 最佳实践文档。

    上传提示错误“get ETag error, please add "ETag" to CORS ExposeHeader setting.”该如何处理?

    请按照下图配置跨域规则,尝试切换浏览器,测试是否可行。详情请参见 设置跨域访问

    同时使用了腾讯云 COS 和 CDN,COS 跨域无法正常工作该如何处理?

    若您使用的域名是 CDN 加速域名,请在 CDN 控制台配置跨域,详情请参见 HTTP 响应头配置 文档。

    跨域设置是否支持来源 Origin 模糊匹配?

    控制台支持二级域名的模糊匹配。

    对象存储跨域访问报错,该如何处理?

    请您按照以下步骤进行检查:

    1. 检查 COS 控制台是否设置跨域规则,详细操作可参考 设置跨域访问
    2. 确认是否使用 CDN 加速域名,若使用 CDN 加速域名,需在 CDN 侧配置跨域规则,请参考 HTTP 响应头配置
    3. 已设置跨域规则,请使用命令行测试规则是否生效。命令格式为:curl -Lvo /dev/null "&lt;对象地址>" -H "origin:&lt;域名>"。请您根据业务情况替换<>中的值,例如:curl -Lvo /dev/null "https://bucketname-1250000000.cos.ap-guangzhou.myqcloud.com/test.png" -H "origin:https://www.baidu.com";若返回状态码 200,则规则已生效,请删除浏览器缓存后重试。
    4. 若仍无法解决,请尝试在跨域访问规则中配置 max-age=0。

    跨域访问 CORS 规则可以添加 IP 地址吗?

    跨域规则不支持设置 IP 地址的形式,仅支持域名形式,详细介绍请查看 设置跨域访问 文档。

    COS 设置了 CDN,通过 CDN 访问 COS 内文件报跨域错误,该如何处理?

    如果您使用 CDN 访问 COS 时遇到跨域报错,请参考 HTTP 响应头配置 文档在 CDN 控制台设置允许跨域。

    访问文件 URL 时报跨域访问错误,如何解决?

    请检查是否配置跨域访问,若已正确配置跨域访问,建议您清除浏览器缓存后重试;若仍无法解决,请尝试在跨域访问规则中配置 max-age=0。 配置跨域访问指引,请参见 设置跨域访问