概述

当您的业务接入阿里云CDN后,需要跨域共享或者访问资源时,您可以通过自定义HTTP响应头来实现。本文主要介绍CDN如何通过HTTP头配置跨域资源共享(CORS)。

详细信息

使用HTTP相应头跨域资源共享的具体操作步骤如下:

  1. 登录CDN控制台
  2. 域名管理页面,选择需要配置CORS功能域名右侧的管理
  3. 单击缓存配置,选择自定义HTTP响应头,单击添加
  4. 进入自定义HTTP响应头页面,请按照以下内容进行选择,设置指定允许的跨域请求的来源,然后单击确定保存配置。
    参数 示例
    响应头操作 增加
    自定义响应头参数 Access-Control-Allow-Origin
    响应头值

    *

    说明:

    • 响应头值支持配置为“*”,表示任意来源。
    • 响应头值非“*”的情况下,支持配置单个或者多个IP、域名、或者IP和域名混合。相互间用“,”分隔。
    • 响应头值非“*”的情况下,必须包含协议头“http:// ”或者“https://”。
    • 响应头值支持携带端口。
    • 响应头值支持泛域名。
    • 配置示例请参见配置跨域资源共享
    是否允许重复

    不允许

    说明:

    • 允许表示允许重复,即源站返回的头会保留,同时会加上一个同名的头。
    • 不允许表示不允许重复,即源站返回的头会被新配置的同名头覆盖。
    • 本文以不允许重复为例,现场可根据实际环境而定。
    跨域校验

    开启

    说明:

    跨域校验默认为关闭状态,只有在响应头操作为“增加”,自定义响应头参数为“Access-Control-Allow-Origin”的时候才可以配置。

    • 开启:开启状态下CDN节点将按以下规则对用户做跨域校验,并根据校验结果响应“Access-Control-Allow-Origin”的值。
    • 关闭:关闭状态下CDN节点不会校验用户请求中携带的Origin头,只会固定响应已配置的Access-Control-Allow-Origin值。

  5. 单击添加,进入自定义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