
# 配置回源请求头
如果您需要修改用户回源请求URL中的HTTP头部信息，可以通过配置回源请求头参数来实现。本章帮您了解回源请求头的配置方法。
#### 背景信息
当用户请求的内容CDN节点无缓存时，CDN会回源请求资源。如果您想要改写用户回源请求URL的HTTP头部信息，可以在CDN控制台完成相关配置。
HTTP消息头，是指在超文本传输协议（Hypertext Transfer Protocol，HTTP）的请求和响应消息中的消息头部分，定义了HTTP传输过程中的具体参数。
![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000002535755241.png "点击放大")
#### 注意事项
- 回源请求头配置只会影响通过CDN回源的HTTP消息，对于CDN节点直接响应给用户的HTTP消息不做修改。
- 同一个请求头不允许同时存在两个不同的取值。
- 如果您的域名在后台有特殊配置，暂不支持配置回源请求头。
- 最多可添加10条回源请求头。
 
#### 操作步骤
1. 登录[CDN控制台](https://console.huaweicloud.com/cdn/?locale=zh-cn#/cdn/overview)。
2. 在左侧菜单栏中，选择"域名管理"。
3. 在域名列表中，单击需要修改的域名，进入"概览"页面。
4. 选择"回源配置"页签。
5. 在"回源请求头"配置模块，单击"添加"按钮。
6. 配置回源请求头信息
   - **添加**：在CDN侧添加回源请求头参数，用来改写用户请求URL中的HTTP头部信息。
   
   
   图1添加回源请求头   
   ![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000002323717134.png "点击放大")
   表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，及特殊符"."、"-"、"_"、"\*"、"#"、"!"、"\&"、"+"、"\|"、"\^"、"\~"、"'"、"""、"/"、":"、";"、","、"="、"@"、"?"、"\<"、"\>"、"$"、"{"、"}"组成。  - "${"和"}"必须成对出现。  - 支持配置以下变量： - ${arg_xxx}：获取请求参数中名为xxx的值，其中xxx为可变参数，支持配置大小写字母、数字0-9、及特殊字符"-"、"_"、"."、"\~"。且xxx的值区分大小写，即${arg_test}和${arg_TEST}代表不同的值。  - ${http_xxx}：获取名为xxx的请求头的值，其中xxx为可变参数，支持配置大小写字母、数字0-9、及特殊字符"_"、"."。 - xxx的值不区分大小写，即${http_test}和${http_TEST}代表相同的值。  - 如需通过变量获取请求头xxx的值，配置请求头时需要使用"_"替换"-"，例如：获取请求头X-CCDN-Test的值时，需要配置为${http_X_CCDN_Test}。    - ${request_method}：获取请求方法。  - ${host}：加速域名。  - ${remote_addr}：客户端IP。    - 变量支持拼接不支持嵌套，即支持配置${host}and${arg_name}，不支持配置${${host}}。   |
      
   - **编辑**：修改当前回源请求头取值或操作。单击回源请求头列表"操作"列"编辑"按钮，弹框如下：
   
   
   图2编辑回源请求头   
   ![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000002357796181.png "点击放大")
   
   | 配置项                                        | 示例     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   |:---|:---|:---|
   | 请求头操作  | 设置     | 在回源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，及特殊符"."、"-"、"_"、"\*"、"#"、"!"、"\&"、"+"、"\|"、"\^"、"\~"、"'"、"""、"/"、":"、";"、","、"="、"@"、"?"、"\<"、"\>"、"$"、"%"、"{"、"}"组成。  - "${"和"}"必须成对出现。  - 支持配置以下变量： - ${arg_name}：获取请求参数中为name的参数值（name是可变的）。  - ${http_name}：获取名为name的请求头的值（name是可变的）。  - ${request_method}：获取请求方法。  - ${host}：加速域名。  - ${remote_addr}：客户端IP。    - 变量支持拼接不支持嵌套，即支持配置${host}and${arg_name}，不支持配置${${host}}。   |
      
   - **删除**：删除当前回源请求头配置。单击回源请求头列表"操作"列"删除"按钮，在同步配置弹框勾选其他需要删除该头部的域名，单击"确定"，完成配置。
    
7. 单击"确定"，完成配置。
 
#### 配置示例
加速域名"www.example.com"的回源请求头设置如下：
![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000001823571365.png "点击放大")
当用户访问"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                  |
     
  
 
#### 相关文档
调用接口修改回源请求头请参考：[修改域名全量配置接口 - UpdateDomainFullConfig](https://support.huaweicloud.com/api-cdn/UpdateDomainFullConfig.html)。
