配置回源请求头
如果您需要修改用户回源请求URL中的HTTP头部信息,可以通过配置回源请求头参数来实现。本章帮您了解回源请求头的配置方法。
背景信息
当用户请求的内容CDN节点无缓存时,CDN会回源请求资源。如果您想要改写用户回源请求URL的HTTP头部信息,可以在CDN控制台完成相关配置。
HTTP消息头,是指在超文本传输协议(Hypertext Transfer Protocol,HTTP)的请求和响应消息中的消息头部分,定义了HTTP传输过程中的具体参数。
注意事项
- 回源请求头配置只会影响通过CDN回源的HTTP消息,对于CDN节点直接响应给用户的HTTP消息不做修改。
- 同一个请求头不允许同时存在两个不同的取值。
- 如果您的域名在后台有特殊配置,暂不支持配置回源请求头。
- 最多可添加10条回源请求头。
操作步骤
- 登录华为云控制台,在控制台首页中选择“ CDN与智能边缘 > 内容分发网络 CDN”,进入CDN控制台。
- 在左侧菜单栏中,选择 。
- 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
- 选择“回源配置”页签。
- 在“回源请求头”配置模块,单击“添加”按钮。
- 配置回源请求头信息
- 添加:在CDN侧添加回源请求头参数,用来改写用户请求URL中的HTTP头部信息。
图1 添加回源请求头
表1 参数说明 配置项
示例
说明
请求头操作
设置
在回源HTTP请求中增加指定的请求头参数。
- 如果用户请求URL的HTTP头部携带X-test参数,取值111。CDN侧设置的X-test取值为aaa,那么回源时X-test的取值为aaa。
- 如果用户请求URL的HTTP头部没有携带X-test参数,那么回源时增加X-test,取值为aaa。
删除
删除用户请求URL中已经存在的HTTP头部信息。
- 如果用户请求URL的HTTP头部携带X-test参数,回源时会删除该参数。
请求头参数
X-test
- 长度1~100。
- 以字母开头,由数字0 - 9、字符a - z、A - Z,及特殊符“-”组成。
请求头取值
aaa
- 长度为1~1000。
- 由数字0 - 9、字符a - z、A - Z,及特殊符“.”、“-”、“_”、“*”、“#”、“!”、“&”、“+”、“|”、“^”、“~”、“'”、“"”、“/”、“:”、“;”、“,”、“=”、“@”、“?”、“<”、“>”组成。
- 不支持变量配置,如:$client_ip,$remote_port等。
- 编辑:修改当前回源请求头取值或操作。单击回源请求头列表“操作”列“编辑”按钮,弹框如下:
图2 编辑回源请求头
配置项
示例
说明
请求头操作
设置
在回源HTTP请求中增加指定的请求头参数。
- 如果用户请求URL的HTTP头部携带X-test参数,取值111。CDN侧设置的X-test取值为aaa,那么回源时X-test的取值为aaa。
- 如果用户请求URL的HTTP头部没有携带X-test参数,那么回源时增加X-test,取值为aaa。
删除
删除用户请求URL中已经存在的HTTP头部信息。
- 如果用户请求URL的HTTP头部携带X-test参数,回源时会删除该参数。
请求头参数
X-test
此处无法修改。
请求头取值
aaa
- 长度为1~1000。
- 由数字0 - 9、字符a - z、A - Z,及特殊符“.”、“-”、“_”、“*”、“#”、“!”、“&”、“+”、“|”、“^”、“~”、“'”、“"”、“/”、“:”、“;”、“,”、“=”、“@”、“?”、“<”、“>”组成。
- 不支持变量配置,如:$client_ip,$remote_port等。
- 删除:删除当前回源请求头配置。单击回源请求头列表“操作”列“删除”按钮,在同步配置弹框勾选其他需要删除该头部的域名,单击“确定”,完成配置。
- 单击确定,完成配置。
配置示例
加速域名“www.example.com”的回源请求头设置如下:
当用户访问“http://www.example.com/abc.jpg”文件时,CDN节点没有缓存该资源,CDN回源请求资源。回源时增加“X-cdn头部”,同时删除“X-test头部”。
使用限制
- 如果您的后台存在特殊配置,暂不支持配置Content-Type、Cache-Control、Expires。
- 以下请求头仅支持修改响应头信息,不支持将“请求头操作”类型设置为“删除”:
Expires
Content-Disposition
Content-Type
Content-Language
Cache-Control
-
- 目前不支持添加/删除/编辑以下标准头部信息:
a_dynamic |
cross-origin-embedder-policy |
origin |
strict-transport-security |
accept |
cross-origin-opener-policy |
ping-from |
te |
accept-ch |
cross-origin-resource-policy |
ping-to |
timing-allow-origin |
accept-charset |
date |
pragma |
tk |
accept-ch-lifetime |
device-memory |
proxy-authenticate |
trailer |
accept-push-policy |
dnt |
proxy-authorization |
transfer-encoding |
accept-ranges |
dpr |
public-key-pins |
upgrade |
accept-signature |
early-data |
public-key-pins-report-only |
upgrade-insecure-requests |
access-control-allow-credentials |
etag |
push-policy |
vary |
access-control-allow-headers |
expect |
range |
via |
access-control-allow-methods |
expect-ct |
referer-policy |
viewport-width |
access-control-allow-origin |
feature-policy |
report-to |
warning |
access-control-expose-headers |
forwarded |
retry-after |
width |
access-control-max-age |
from |
save-data |
www-authenticate |
access-control-request-headers |
host |
sec-fetch-dest |
x-client-ip |
access-control-request-method |
if-match |
sec-fetch-mode |
x-content-type-options |
age |
if-modified-since |
sec-fetch-site |
x-dns-prefetch-control |
allow |
if-none-match |
sec-fetch-user |
x-download-options |
alt-svc |
if-range |
sec-websocket-accept |
x-firefox-spdy |
authorization |
if-unmodified-since |
sec-websocket-extensions |
x-forwarded-for |
clear-site-data |
keep-alive |
sec-websocket-key |
x-forwarded-host |
connection |
large-allocation |
sec-websocket-protocol |
x-frame-options(xfo) |
content-dpr |
last-event-id |
sec-websocket-version |
x-permitted-cross-domain-policies |
content-encoding |
last-modified |
server |
x-pingback |
content-length |
link |
server-timing |
x-powered-by |
content-location |
location |
service-worker-allowed |
x-requested-with |
content-range |
max-age |
signature |
x-robots-tag |
content-security-policy |
max-forwards |
signed-headers |
x-ua-compatible |
content-security-policy-report-only |
nel |
sourcemap |
x-xss-protection |