You need to enable JavaScript to run this app.
导航
回源 HTTP 请求头设置
最近更新时间:2024.08.05 16:49:34首次发布时间:2022.02.23 13:19:00

本文档介绍如何在火山引擎内容分发网络(CDN)中的 "回源 HTTP 请求头设置" 特性。

如果您希望在回源时,回源请求中包含指定的头部,您可以配置 HTTP 请求头。

适用场景

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

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

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

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

操作步骤

  1. 登录 火山引擎内容分发网络控制台
  2. 在左侧导航栏,点击 域名管理
  3. 域名管理 页面,找到需要配置的域名,点击 管理
  4. 在域名页面上,点击 回源配置 页签。
  5. 在页面右上方,点击 编辑配置
  6. HTTP 请求头设置 下方,点击 新增规则。您最多可以添加 50 条规则。
  7. 参照 配置说明 对该规则进行配置。
  8. 配置完成后,在页面右上方,点击 提交编辑

alt

配置说明

配置说明

配置类型

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

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

头部名称

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

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

参见 注意事项

取值方式

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

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

头部取值

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

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

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

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

变量列表

CDN 提供了以下变量。

说明

如果您配置了 回源 URL 改写 特性,除了 msecorigin_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- 开头,也不能是以下任意头部。

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