You need to enable JavaScript to run this app.
内容分发网络

内容分发网络

复制全文
回源配置
回源 HTTP 请求头设置
复制全文
回源 HTTP 请求头设置

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

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

除了 CDN 添加的默认请求头,如果您希望回源请求中包含更多的头部,您可以配置回源 HTTP 请求头。

适用场景

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

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

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

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

操作步骤

  1. 登录 火山引擎内容分发网络控制台
  2. 在左侧导航栏,点击 域名管理
  3. 域名管理 页面,找到需要配置的域名,点击 管理
    Image
  4. 定位 HTTP 请求头设置 模块。
    • 如果您使用的是旧版域名管理页面,点击 编辑配置,然后在 回源配置 标签页中定位 HTTP 请求头设置 模块。
    • 如果您使用的是新版域名管理页面,点击 编辑域名。在页面左侧的树状配置项列表中,定位 功能配置 > 回源配置 > HTTP 请求头设置。如果该模块置灰,点击模块右边的 +
      Image
      关于新旧版域名管理页面的区别,参见 新版域名配置
  5. HTTP 请求头设置 下方,点击 新增规则。您最多可以添加 50 条规则。
  6. 参照 配置说明 对该规则进行配置。
  7. 配置完成后,点击 提交编辑

Image

配置说明

配置

说明

配置类型

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

  • 设置:表示设置一个头部。设置操作包括添加与修改。如果源站响应中已包含该头部,该头部的值会被覆盖。如果源站响应中没有包含该头部,该头部会被添加。
  • 删除:表示删除一个头部。

头部名称

表示需要设置或者删除的一个头部。头部名称是大小写不敏感的。除了 注意事项 中列出的那些头部名称之外,您可以输入任意一个头部名称。头部名称不能超过 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

args 变量的含义相同。

size=small&color=red

host

表示回源请求中 Host 头部的值。

需要留意的是,CDN 在处理请求时可能会修改该头部的值。因此,不建议您使用该头部,而是使用 http_host

example.com:8080

client_ip

表示连接到 CDN,触发了本次回源请求的客户端的 IP 地址。

127.1.1.1

client_loc_country

表示客户端 IP 所属的国家或地区的英文名称。

China

client_loc_upper_cy_code

表示客户端 IP 所属的国家或地区的双字母代码。

CN

注意事项

您设置的请求头名称不能以 x-bdcdn-Volc-CdnX-Bytecdn- 开头,也不能是以下任意头部。

  • x-tos-request-id
  • bd-bdcdn-oss-switch
  • x-storagegw-request-id
  • x-sign
  • X-Trace-Via

注意

如果用户请求中包含以 x-bdcdn-Volc-CdnX-Bytecdn- 开头的头部,这些头部不会包含在回源请求中。

CDN 添加的默认请求头

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

请求头

描述

示例

X-Forwarded-For

表示一个 IP 地址列表,用于识别通过代理服务器转发的用户请求。列表中的第一个 IP 地址是发起请求的客户端的 IP 地址。该请求每经过一个代理服务器,这个代理服务器的 IP 地址就会被添加到列表末尾。列表中最后一个 IP 地址是发送该回源请求的 CDN 节点的 IP 地址。

xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxx, xx.xx.xxx.xxx

X-Forwarded-Protocol

表示用户请求使用的协议。

http

X-Real-IP

对于触发该回源请求的用户请求,该头部表示发送该用户请求的客户端 IP 地址。

xxx.xxx.xxx.x

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,由 CDN 生成。

f455f0415d901f8aee3b2c7336bfad16

X-Tt-Trace-Id

表示回源请求的 ID,由 CDN 生成。

202405301714110101720050051BB69184

说明

X-Forwarded-ProtocolX-Forwarded-ProtoX-Client-Scheme 这三个头部的含义相同。如果您不希望回源请求中包含这些头部,可以配置 "回源 HTTP 请求头设置" 删除这些头部。

最近更新时间:2026.02.09 17:59:45
这个页面对您有帮助吗?
有用
有用
无用
无用