概述
当您的业务接入阿里云CDN后,需要跨域共享或者访问资源时,您可以通过自定义HTTP响应头来实现。本文主要介绍CDN如何通过HTTP头配置跨域资源共享(CORS)。
详细信息
使用HTTP相应头跨域资源共享的具体操作步骤如下:
- 登录CDN控制台。
- 在域名管理页面,选择需要配置CORS功能域名右侧的管理。
- 单击缓存配置,选择自定义HTTP响应头,单击添加。
- 进入自定义HTTP响应头页面,请按照以下内容进行选择,设置指定允许的跨域请求的来源,然后单击确定保存配置。
参数 示例 响应头操作 增加 自定义响应头参数 Access-Control-Allow-Origin 响应头值 *
说明:
- 响应头值支持配置为“*”,表示任意来源。
- 响应头值非“*”的情况下,支持配置单个或者多个IP、域名、或者IP和域名混合。相互间用“,”分隔。
- 响应头值非“*”的情况下,必须包含协议头“http:// ”或者“https://”。
- 响应头值支持携带端口。
- 响应头值支持泛域名。
- 配置示例请参见配置跨域资源共享。
是否允许重复 不允许
说明:
- 允许表示允许重复,即源站返回的头会保留,同时会加上一个同名的头。
- 不允许表示不允许重复,即源站返回的头会被新配置的同名头覆盖。
- 本文以不允许重复为例,现场可根据实际环境而定。
跨域校验 开启
说明:
跨域校验默认为关闭状态,只有在响应头操作为“增加”,自定义响应头参数为“Access-Control-Allow-Origin”的时候才可以配置。
- 开启:开启状态下CDN节点将按以下规则对用户做跨域校验,并根据校验结果响应“Access-Control-Allow-Origin”的值。
- 关闭:关闭状态下CDN节点不会校验用户请求中携带的Origin头,只会固定响应已配置的Access-Control-Allow-Origin值。
- 单击添加,进入自定义HTTP响应头页面,请按照以下内容进行选择,设置指定允许的跨域请求方法,然后单击确定保存配置。
参数 示例 响应头操作 增加 自定义响应头参数 Access-Control-Allow-Methods 响应头值 GET,POST,PUT
说明:如果您需要同时添加POST、GET、PUT,请使用英文逗号(,)隔开。
是否允许重复 不允许
说明:
- 允许表示允许重复,即源站返回的头会保留,同时会加上一个同名的头。
- 不允许表示不允许重复,即源站返回的头会被新配置的同名头覆盖。
- 本文以不允许重复为例,现场可根据实际环境而定。
更多信息
以下为配置跨域资源共享(CORS)的更多说明:
- 若使用OSS作为源站,OSS与CDN控制台同时配置CORS,CDN的配置将覆盖OSS。
- 若源站为本地服务器或ECS实例,建议先进行动静分离,静态文件使用CDN加速,CDN控制台配置的CORS功能,仅对静态文件生效。
- 如果自定义响应头参数“Access-Control-Allow-Origin”的值设置为“*”,不论用户请求里面是否携带“Origin”参数,也不论携带的“Origin”参数为何值,都固定返回“Access-Control-Allow-Origin:*”。
- 如果跨域资源共享的响应头值设置了单个或者多个值(多个值之间用“,”分隔)。
- 如果用户请求头里携带的“Origin”参数值与被设置的任意一个值精确匹配,就会响应对应的跨域头。
- 如果都没有精确匹配上,则不响应跨域头。
- 如果跨域资源共享的响应头值设置了泛域名,则会校验请求头中Origin值是否能匹配上“Access-Control-Allow-Origin”的泛域名。
相关文档
适用于
- CDN