如果您需要改写用户源站响应报文中的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响应头。
操作步骤
登录视频点播控制台。
在左侧导航栏选择配置管理 > 分发加速配置 > 域名管理,进入到域名管理页面。
单击目标域名所在行的配置。
在指定域名的左侧导航栏,单击回源配置。
单击回源HTTP响应头页签。
单击添加,并配置回源HTTP响应头信息。
重要 当不同的操作方式同时作用于同一个回源响应头参数时,会存在操作冲突。此时按照操作类型的优先级来执行,优先级顺序为替换>增加>变更和删除。例如,当增加和删除操作同时作用于同一个参数时,会先增加再删除。- 增加响应头参数
配置项 示例 说明 响应头操作 增加 在回源HTTP请求中增加指定的响应头参数。 自定义响应头参数 自定义缓存响应头 选择自定义缓存响应头或选择已经预设好的响应头参数。
自定义响应头名称 x-code 自定义响应头名称为x-code。
响应头值 key1 一个响应头参数中可以配置多个值,多个值用英文逗号(,)分隔。
key1,key2 是否允许重复 允许 - 允许:可以添加重复的响应头参数。例如
x-code:key1
,x-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
。
- 匹配所有:所有匹配上的值都会被替换。例如
- 增加响应头参数
单击确定,完成配置。
配置示例
示例一
配置场景:如果您希望配置响应文档属于什么MIME类型。
结果说明:在源站发送给CDN节点的响应信息中声明内容类型为text/html,再次配置将覆盖旧值。
示例二
配置场景:如果您希望删除响应头信息。