24 / 04 / 21
在内容分发网络中,您可以对请求头进行以下操作:
设置请求头字段:如果您需要在回源请求头中添加字段,可以通过该操作进行配置。如果在匹配时发现请求头中已存在该字段,已有的字段值会被覆盖。匹配时不区分大小写。比如您添加了字段 X-Form:huoshan
,但是请求头中已存在字段 x-form:hs
。此时,请求头中该字段会更新为 x-form:huoshan
。
删除请求头字段:如果您不需要回源请求头中某些字段,可以通过该操作进行配置。内容分发网络会在回源请求的请求头中删除这些字段。
在您设置字段时,可以输入任意字段。但是内容分发网络不支持设置某些字段,具体参见下方注意事项。
配置 | 说明 |
---|---|
回源请求头部操作 | 设置具体的操作。您可以设置以下值: |
设置:表示添加字段或者对已有字段设置特定值。
删除:表示删除特定字段。 | | 回源请求头部名称 | 输入一个请求头字段。您可以设置任意的名称,例如 X-Form
。字段名称不能超过 1,024 个字符,可以包含除了以下字符的可打印 ASCII 字符:
下划线(_)、空格、双引号(")、Delete(ASCII code 127) | | 取值方式 | 设置请求头字段的取值方式。您可以设置以下值:
常量:表示请求头字段的值是一个固定值。您需要在 回源请求头部取值 中设置这个值。
变量:表示请求头字段的值来自一个变量字段。您需要在 回源请求头部取值 列表中选择一个变量字段。该变量字段的值会作为请求头字段的值。参见下方的变量字段。
自定义:表示请求头字段的值是变量字段与常量字符串拼接后的字符串。在拼接字符串中,变量字段使用 ${变量名}
表示。 为了方便您输入变量字段,您可以先输入 $
。此时,输入框上方会出现一个变量字段列表。在列表中,您可以选择一个或者多个变量字段,点击 确定,然后再插入常量字符串。
示例值:aaa${http_host}bbb${msec}ccc
| | 回源请求头部取值 | 设置该请求头字段的值。字段值不能超过 1,024 个字符,可以包含除了以下字符的可打印 ASCII 字符:
美元符号($),Delete(ASCII code 127) | | 操作 | 表示可以对该规则进行的操作。比如删除该规则。 |
内容分发网络提供了以下变量字段。需要留意的是,如果加速域名的配置改写了回源请求,这些变量的值依然是改写前的值(不适用 msec
和 origin_srv_addr
这两个变量)。例如您的加速域名是 example.com
,回源 Host 配置为 img.example.com
,那么 http_host
变量的值依然是 example.com
。
字段名 | 说明 | 示例值 |
---|---|---|
uri | 表示回源请求 URL 中的路径。 | /dir/volcano.php |
request_uri | 表示回源请求 URL 中的路径和查询字符串(query string)。 | /dir/volcano.php?color=red&n=10 |
http_host | 表示回源请求中 Host 头部的值。 | volcengine.com:8080 |
args | 表示回源请求 URL 中的查询字符串。 | color=red&n=10 |
msec | 表示内容分发网络设置该回源请求头的时间,格式是 Unix 时间戳,精确到毫秒。 | 1704444754.917 |
scheme | 表示回源请求使用的协议。 | https |
origin_srv_addr | 表示源站的域名或者 IP 地址。 | www.example.com |
query_string | 表示回源请求 URL 中的查询字符串。 | ?size=small&color=red |
host | 表示回源请求中 Host 头部的值。 |
需要留意的是,内容分发网络在处理请求时可能会修改该字段的值。因此,不建议您使用该字段,而是使用 http_host
。 | example.com:8080
| | client_ip | 表示连接到内容分发网络,触发了本次回源请求的客户端的真实 IP 地址。 | 127.1.1.1
|
在您设置字段时,不能使用以 x-bdcdn-
开头的字段,也不能使用以下字段,不然会报错。字段名称不区分大小写。
x-bdcache-trace-id
x-real-ip
x-client-scheme
x-tos-request-id
bd-bdcdn-oss-switch
x-storagegw-request-id
x-sign
如果您输入了这些字段名中的任意一个,会收到以下错误:
暂不支持配置此类头部!