You need to enable JavaScript to run this app.
导航
回源 HTTP 请求头设置
最近更新时间:2024.12.11 10:47:59首次发布时间:2024.12.11 10:47:59

本文档介绍CDN加速服务中的 "回源 HTTP 请求头设置" 特性。

在回源请求中,CDN加速服务会包含用户请求中的所有请求头。同时,CDN加速服务还会添加一些默认请求头。参见 CDN加速服务添加的默认头部列表

除了上述的请求头外,如果您希望回源请求中包含额外的头部,您可以配置 HTTP 请求头。

适用场景

识别来自CDN加速服务的请求
您的源站除了收到来自CDN加速服务的请求,也有可能收到来自其他请求方的请求。或者您的源站使用了多个云厂商的CDN加速服务做内容传输加速。在这些情况下,您可以在回源请求中添加一个特定的请求头。在源站的请求日志中,您可以基于该请求头统计以下数据:

  • 请求方不是CDN加速服务的请求数量。
  • 在多个云厂商中,来自火山引擎CDN加速服务的请求数量。

区分来自不同加速域名的请求
您为多个加速域名配置了相同的源站。这些加速域名有不同的配置,针对不同的使用场景。在这个情况下,您可以在回源请求中添加一个特定的请求头,以区分来自不同加速域名的请求。在源站的请求日志中,您可以基于该请求头统计数据。

在源站实施访问控制
您希望阻止来源不是CDN加速服务的用户请求。在这个情况下,您可以在回源请求中添加一个特定的请求头,然后在源站实施访问控制,阻止不包含该请求头的请求访问您的源站。

前提条件

您已经添加域名到CDN加速服务。相关操作,请参见添加域名

操作步骤

  1. 登录多云CDN控制台

  2. 在左侧导航栏,单击 CDN加速
  3. 在CDN加速域名列表找到您的域名,单击域名名称。
  4. 在域名页面,单击 回源配置 页签。
  5. 在页面右上方,单击 编辑配置
  6. HTTP 请求头设置 区域,单击 新增规则。您最多可以添加 50 条规则。
  7. 参照 配置说明 对该规则进行配置。
  8. 配置完成后,在页面右上方,单击 提交编辑

alt

配置说明

配置说明

配置类型

表示一个操作类型。该配置有以下选项:

  • 设置:表示添加一个头部。如果该头部已存在,则将该头部设置为指定的值。
  • 删除:表示删除一个指定的头部。

头部名称

表示需要添加或者删除的一个头部。头部名称是大小写不敏感的。您可以输入一个任意头部,头部名称不能超过 1,024 个字符,不能包含以下字符:

  • 汉字、下划线(_)、空格、双引号(")、冒号(:)

参见 注意事项

取值方式

对于您在 头部名称 中指定头部,该配置表示该头部的取值方式,有以下选项:

  • 常量:表示设置该头部为一个字符串。
  • 变量:表示设置该头部为一个变量。
  • 自定义:表示设置该头部为一个表达式。您可以在表达式中包含字符串和变量。

头部取值

表示您在 头部名称 中指定头部的取值。

  • 如果 取值方式常量,您需要输入一个字符串。该字符串的长度不能超过 1,024 个字符,不能包含以下字符:

    • 汉字、下划线(_)、空格、双引号(")、冒号(:)
  • 如果 取值方式变量,您需要从列表中选择一个变量。参见 变量列表

  • 如果 取值方式自定义,您需要输入一个表达式。表达式由字符串和变量组成。变量需要包裹在 {} 中,由 $ 开头。例如 bind${scheme}to${client_ip}done

变量列表

CDN加速服务提供了以下变量。

变量名称说明示例值
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- 开头,也不能是以下任意头部。

  • x-bdcache-trace-id
  • x-real-ip
  • x-client-scheme
  • x-tos-request-id
  • bd-bdcdn-oss-switch
  • x-storagegw-request-id
  • x-sign

CDN加速服务添加的默认头部列表

CDN加速服务在回源请求中默认会添加以下头部。

请求头描述示例
X-Forwarded-For表示发送回源请求的CDN加速服务节点的 IP 地址。xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxx, xx.xx.xxx.xxx
X-Forwarded-Protocol表示回源请求使用的协议。http
X-Real-IP对于触发该回源请求的用户请求,该头部表示发送该用户请求的客户端 IP 地址。xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxx
X-Forwarded-Proto表示用户请求使用的协议。http
X-Client-Scheme表示用户请求使用的协议。http
X-Trace-via表示发送回源请求的CDN加速服务节点的标识。gycm
Bd-Raw-Host表示用户请求的 URL 中的域名。www.example.com
X-Bdcache-Trace-Id表示用户请求的 ID。f455f0415d901f8aee3b2c7336bfad16
X-Tt-Trace-Id表示回源请求的 ID。202405301714110101720050051BB69184