最近更新时间:2024.01.12 15:10:33
首次发布时间:2022.02.23 13:19:00
本文档介绍如何在火山引擎内容分发网络中配置 HTTP 请求头字段。
如果您希望在回源时,回源请求中包含自定义请求头字段,那么您可以配置 HTTP 请求头。
识别来自内容分发网络的请求
您的源站除了收到来自内容分发网络的请求,也有可能收到来自其他请求方的请求。或者您的源站使用了多个云厂商的内容分发网络做内容传输加速。在这些情况下,您可以在回源请求中添加一个特定的请求头。在源站的请求日志中,您可以基于该请求头统计以下数据:
区分来自不同加速域名的请求
您可能会为多个加速域名配置了相同的源站。这些加速域名有不同的配置给来自不同场景的用户来访问。此时,您可以在回源请求中添加一个特定的请求头,以区分来自不同加速域名的请求。在源站的请求日志中,您可以基于该请求头统计数据。
在源站实施访问控制
您可能不希望用户直接访问您的源站,而是通过火山引擎内容分发网络进行访问。此时,您可以在回源请求中添加一个特定的请求头。然后在源站实施访问控制,阻止不包含该请求头的请求访问您的源站。
在内容分发网络中,您可以对请求头进行以下操作:
X-Form:huoshan
,但是请求头中已存在字段 x-form:hs
。此时,请求头中该字段会更新为 x-form:huoshan
。在您设置字段时,可以输入任意字段。但是内容分发网络不支持设置某些字段,具体参见注意事项。
此时,在规则列表中会出现一条待配置的规则。
配置 | 说明 |
---|---|
回源请求头部操作 | 设置具体的操作。您可以设置以下值:
|
回源请求头部名称 | 输入一个请求头字段。您可以设置任意的名称,例如
|
取值方式 | 设置请求头字段的取值方式。您可以设置以下值:
|
回源请求头部取值 | 设置该请求头字段的值。字段值不能超过 1,024 个字符,可以包含除了以下字符的可打印 ASCII 字符:
|
操作 | 表示可以对该规则进行的操作。比如删除该规则。 |
内容分发网络提供了以下变量字段。需要留意的是,如果加速域名的配置改写了回源请求,这些变量的值依然是改写前的值(不适用 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-
开头的字段,也不能使用以下字段,不然会报错。字段名称不区分大小写。
如果您输入了这些字段名中的任意一个,会收到以下错误:暂不支持配置此类头部!