首页 CDN 操作指南 域名管理 回源配置 配置回源HTTP响应头

配置回源HTTP响应头

更新时间: 2023-09-08 15:45:51

如果您需要改写用户源站响应报文中的HTTP Header,可以通过配置回源HTTP响应头实现。可根据您的实际业务需求,选择增加、删除、变更或替换回源HTTP响应头。

背景信息

HTTP响应头是HTTP的响应消息头的组成部分之一,可携带特定响应参数信息并传递给客户端。

当CDN节点上没有缓存用户请求的内容时,CDN会回源站拉取资源,源站收到CDN的请求后会给出响应。为了便于用户识别源站的响应信息,您可以配置回源HTTP响应头功能,改写用户源站响应报文中的HTTP Header信息。例如,改写回源响应头中Content-Type参数的值,然后再传递给客户端,以确保客户端解析正常(如果源站返回的Content-Type值有误,客户端直接解析将出现乱码,因此需要在CDN上改写)。

回源响应
说明
  • 回源响应指源站收到CDN节点的请求后,返回给CDN节点的HTTP消息。回源HTTP响应头配置只会影响源站响应给CDN节点的HTTP消息,对于CDN节点直接响应给用户的HTTP消息不做修改。

  • 不支持对泛域名配置回源HTTP响应头。

操作步骤

  1. 登录CDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的管理
    域名管理
  4. 在指定域名的左侧导航栏,单击回源配置
  5. 单击回源HTTP响应头页签。

  6. 单击添加

  7. 配置回源HTTP响应头信息。

    重要

    当不同的操作方式同时作用于同一个回源响应头参数时,会存在操作冲突。此时按照操作类型的优先级来执行,优先级顺序为替换增加变更删除。例如,当增加和删除操作同时作用于同一个参数时,会先增加再删除。

    增加响应头参数

    HTTP响应头

    配置项

    示例

    说明

    响应头操作

    增加

    在回源HTTP请求中增加指定的响应头参数。

    自定义响应头参数

    自定义缓存响应头

    选择自定义缓存响应头或选择已经预设好的响应头参数。

    自定义响应头名称

    x-code

    自定义响应头名称为x-code。

    响应头值

    key1

    一个响应头参数中可以配置多个值,多个值用英文逗号(,)分隔。

    key1,key2

    是否允许重复

    允许

    • 允许:可以添加重复的响应头参数。例如x-code:key1x-code:key2

    • 不允许:添加同一个响应头参数,新值将覆盖旧值。例如先添加x-code:key1,再添加x-code:key2,最终的值为x-code:key2

    规则条件

    不使用

    规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。

    • 不使用:不使用规则条件。

    • 选择已配置的规则引擎,新增或修改规则引擎请参见规则引擎

    删除响应头参数

    删除

    配置项

    示例

    说明

    响应头操作

    删除

    删除所有与响应头参数名称匹配的参数值,无论是否有重复的响应头参数。

    自定义响应头参数

    自定义缓存响应头

    选择自定义缓存响应头或选择已经预设好的响应头参数。

    自定义响应头名称

    x-code

    自定义响应头名称为x-code。

    规则条件

    不使用

    规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。

    • 不使用:不使用规则条件。

    • 选择已配置的规则引擎,新增或修改规则引擎请参见规则引擎

    变更响应头参数

    变更

    配置项

    示例

    说明

    响应头操作

    变更

    当响应头参数不存在重复时,可以正常变更参数,如果有多个重复的响应头参数,则不允许变更。

    自定义响应头参数

    自定义缓存响应头

    选择自定义缓存响应头或选择已经预设好的响应头参数。

    自定义响应头名称

    x-code

    自定义响应头名称为x-code。

    响应头变更为

    key1,key3

    一个响应头参数中可以配置多个值,多个值用英文逗号(,)分隔。

    规则条件

    规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。

    • 不使用:不使用规则条件。

    • 选择已配置的规则引擎,新增或修改规则引擎请参见规则引擎

    替换响应头参数

    替换

    配置项

    示例

    说明

    响应头操作

    替换

    当响应头参数不存在重复时,可以正常替换参数,如果有多个重复的响应头参数,则不允许替换。

    自定义响应头参数

    自定义缓存响应头

    选择自定义缓存响应头或选择已经预设好的响应头参数。

    自定义响应头名称

    x-code

    自定义响应头名称为x-code。

    查找

    key

    正则表达式查找需要替换的参数值。

    替换为

    abc

    正则表达式替换需要替换的参数值。

    匹配

    匹配所有

    • 匹配所有:所有匹配上的值都会被替换。例如x-code:key1,key2,key3,正则匹配值key替换为abc,替换后的结果为x-code:abc1,abc2,abc3

    • 仅匹配第一个:只有第一个匹配上的值会被替换。例如x-code:key1,key2,key3,正则匹配值key替换为abc,替换后的结果为x-code:abc1,key2,key3

    规则条件

    规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。

    • 不使用:不使用规则条件。

    • 选择已配置的规则引擎,新增或修改规则引擎请参见规则引擎

  8. 单击确定

配置示例

示例一:配置响应文档属于某种MIME类型

配置场景

如果您希望配置响应文档属于某种MIME类型。

说明

MIME类型主要包含以下几类:

  • 文本类型:包括文本文件(例如.txt、.csv)和HTML文件(例如.html、.htm、.shtml)。

  • 图片类型:包括常见的图片文件(例如.jpg、.png、.gif)。

  • 音频类型:包括音频文件(例如.mp3、.wav)。

  • 视频类型:包括视频文件(例如.mp4、.avi)。

  • 应用程序类型:包括应用程序文件(例如.pdf、.doc、.xls)。

配置方法

  • 响应头操作:增加

  • 自定义响应头名称:Content-Type。

  • 响应头值:text/html。

配置

结果说明:在源站发送给CDN节点的响应信息中声明内容类型为text/html,再次配置将覆盖旧值。

示例二:删除响应头信息

配置场景

如果您希望删除响应头信息。

配置方法

  • 响应头操作:删除

  • 自定义响应头名称:Content-Type。

配置

结果说明:删除请求头中的Content-Type信息,然后返回给用户。

说明

如果同时完成了示例一示例二,那么会先增加响应头Content-Type信息(响应的内容属于text/html类型),然后删除该请求头,最终结果为:响应的资源没有MIME类型限制,直接以最初的类型返回用户。

阿里云首页 CDN 相关技术圈