设置跨域访问
简介
跨域访问即通过 HTTP 请求,从一个域去请求另一个域的资源。只要协议、域名、端口有任何一个不同,都会被当作是不同的域。
对象存储服务针对跨域访问,支持响应 OPTIONS 请求,并根据开发者设定的规则向浏览器返回具体设置的规则。但服务端并不会校验随后发起的跨域请求是否符合规则。
设置说明
Allow-Origin
允许跨域请求的来源。
- 可以同时指定多个来源(每行只能填写一个)。
- 配置支持
*
,表示全部域名都允许,不推荐。 - 支持单个具体域名,形如
http://www.abc.com
。 - 支持二级泛域名,形如
http://*.abc.com
,但是每行只能有一个*
号。 - 注意不要遗漏协议名 http 或 https,若端口不是默认的 80,还需要带上端口。
Allow-Methods
枚举允许的跨域请求方法(一个或者多个)。 例如:GET、PUT、POST、DELETE、HEAD。
在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,例如:x-cos-meta-md5。
- 可以同时指定多个来源,每行只能填写一个。
- Header 容易遗漏,没有特殊需求的情况下,建议设置为
*
,表示允许所有。 - 大小写不敏感。
- 在 Access-Control-Request-Headers 中指定的每个 Header,都必须在 Allowed-Header 中有对应项。
Allow-Headers
具体的配置需要根据应用的需求确定,默认推荐填写 Etag。
- 不允许使用通配符,大小写不敏感,每行只能填写一个。
Max-Age
设置 OPTIONS 请求得到结果的有效期。 例如:600
设置步骤
控制台提供了响应 OPTIONS 请求的配置,支持多条规则。
- 登录 COS 控制台。
- 在左侧导航栏中,选择 【存储桶列表】,进入存储桶列表页面。
- 单击需要配置回源的存储桶名称,进入存储桶的文件列表页面。
- 单击 【安全管理】>【跨域访问 CORS 设置】,单击 【添加规则】。
- 在弹出的窗口中,添加规则信息(带
*
号的为必填项)。
配置项说明如下:
配置项 | 说明 |
---|---|
来源 Origin | 允许跨域请求的来源。 |
操作 Methods | 支持 GET、PUT、POST、DELETE、HEAD。枚举允许一个或多个跨域请求方法。 |
Allow-Headers | 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,例如:x-cos-meta-md5。 |
Expose-Headers | Expose-Header 里返回的是 COS 的常用 Header,详情请查阅公共请求头部。具体的配置需要根据应用的需求确定,默认推荐填写 Etag。不允许使用通配符,大小写不敏感,支持多行且每行只能填写一个。 |
超时 Max-Age | 设置 OPTIONS 请求得到结果的有效期(秒)。数值必须为正整数,例如:600。 |
- 设置完成后,单击 【确定】。