本文档介绍如何在火山引擎内容分发网络(CDN)中的 "回源 HTTP 请求头设置" 特性。
如果您希望在回源时,回源请求中包含指定的头部,您可以配置 HTTP 请求头。
识别来自 CDN 的请求
您的源站除了收到来自 CDN 的请求,也有可能收到来自其他请求方的请求。或者您的源站使用了多个云厂商的 CDN 做内容传输加速。在这些情况下,您可以在回源请求中添加一个特定的请求头。在源站的请求日志中,您可以基于该请求头统计以下数据:
区分来自不同加速域名的请求
您为多个加速域名配置了相同的源站。这些加速域名有不同的配置,针对不同的使用场景。在这个情况下,您可以在回源请求中添加一个特定的请求头,以区分来自不同加速域名的请求。在源站的请求日志中,您可以基于该请求头统计数据。
在源站实施访问控制
您希望阻止来源不是 CDN 的用户请求。在这个情况下,您可以在回源请求中添加一个特定的请求头,然后在源站实施访问控制,阻止不包含该请求头的请求访问您的源站。
配置 | 说明 |
---|---|
配置类型 | 表示一个操作类型。该配置有以下选项:
|
头部名称 | 表示需要添加或者删除的一个头部。头部名称是大小写不敏感的。您可以输入一个任意头部,头部名称不能超过 1,024 个字符,不能包含以下字符:
参见 注意事项。 |
取值方式 | 对于您在 头部名称 中指定头部,该配置表示该头部的取值方式,有以下选项:
|
头部取值 | 表示您在 头部名称 中指定头部的取值。
|
CDN 提供了以下变量。
说明
如果您配置了 回源 URL 改写 特性,除了 msec
和 origin_srv_addr
,这些变量的值是改写前的值。例如,您的加速域名是 example.com
。您在 "回源 URL 改写" 中配置将回源 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 | 表示 CDN 设置该回源请求头的时间,格式是 Unix 时间戳,精确到毫秒。 | 1704444754.917 |
scheme | 表示回源请求使用的协议。 | https |
origin_srv_addr | 表示源站的域名或者 IP 地址。 | www.example.com |
query_string | 表示回源请求 URL 中的查询字符串。 | ?size=small&color=red |
host | 表示回源请求中 Host 头部的值。 需要留意的是,CDN 在处理请求时可能会修改该头部的值。因此,不建议您使用该头部,而是使用 http_host 。 | example.com:8080 |
client_ip | 表示连接到 CDN,触发了本次回源请求的客户端的真实 IP 地址。 | 127.1.1.1 |
您设置的请求头名称不能以 x-bdcdn-
开头,也不能是以下任意头部。