用户可以通过对象存储控制台,对存储桶中的对象设置跨域访问。对象存储提供了响应OPTIONS请求的配置,支持多条规则。跨域访问即通过HTTP请求,从一个域去请求另一个域的资源。只要协议、域名、端口有任何一个不相同,都会被当作是不同的域。本文,小编就带大家一起来了解一下腾讯云对象储存设置跨域访问的教程。
对象存储服务针对跨域访问,支持响应OPTIONS请求,并根据开发者设定的规则向浏览器返回具体设置的规则。但服务端并不会校验随后发起的跨域请求是否符合规则。
操作步骤
1.登录对象存储桶控制台。
2.在左侧导航栏中,单击存储桶列表,进入存储桶列表页面。
3.找到需要设置跨域访问的存储桶,单击其存储桶名称,进入存储桶详情页面。
4.在左侧导航栏中,选择安全管理>跨域访问CORS设置,在跨域访问CORS设置栏中,单击添加规则。
5.添加规则信息(带*号的为必填项),配置项说明如下:
来源Origin:允许跨域请求的来源,请添加自己所使用的域名。支持添加域名和IP地址。
- 域名末尾不需要携带/。
- 可以同时指定多个来源,每行只能填写一个。
- 配置支持*,表示全部域名和IP地址都允许,不推荐。
- 支持单个具体域名,形如http://www.abc.com。
- 支持二级泛域名,形如http://*.abc.com,但是每行只能有一个*号。
- 注意不要遗漏协议名http或https,若端口不是默认的80,还需要带上端口。其中IP地址的举例为http://10.10.10.10。
操作Methods:支持GET、PUT、POST、DELETE、HEAD。枚举允许一个或多个跨域请求方法。
Allow-Headers:在发送OPTIONS请求时告知服务端,接下来的请求可以使用哪些自定义的HTTP请求头部,例如:x-cos-meta-md5。
- 可以同时指定多个Headers,每行只能填写一个,例如Content-Type。
- Header容易遗漏,没有特殊需求的情况下,建议设置为*,表示允许所有。
- 支持英文大小写[a-z,A-Z],不允许带有下划线_。
- 在Access-Control-Request-Headers中指定的每个Header,都必须在Allowed-Header中有对应项。
Expose-Headers:Expose-Header里返回的是COS的常用Header,详情请参见公共请求头部。具体的配置需要根据应用的需求确定,默认推荐填写Etag。不允许使用通配符,大小写不敏感,支持多行且每行只能填写一个。
超时Max-Age:设置OPTIONS请求得到结果的有效期(秒)。数值必须为正整数,例如600。
返回Vary:Origin:设置是否返回Vary:Origin Header。如果浏览器同时存在CORS和非CORS请求,请启用该选项,否则会出现跨域问题。
6.设置完成后,单击保存即可。此时您可以看到跨域访问规则已添加完成。如需修改,可单击修改进行设置。