Edge Acceleration
  • Site Acceleration
    • Overview
    • Quickly Import and Export Site Configuration
    • Access Control
      • Token Authentication
    • Smart Acceleration
    • File Optimization
      • Smart Compression
    • Network Optimization
      • HTTP/2
      • HTTP/3(QUIC)
        • Overview
        • Enable HTTP/3
        • QUIC SDK
          • SDK Overview
          • SDK Download and Integration
          • Sample Code
            • Android
            • iOS
          • API Documentation
            • Android
            • iOS
      • IPv6 Access
      • Maximum Upload Size
      • WebSocket
      • Client IP Geolocation Header
      • Client IP Geographical Location
      • gRPC
    • URL Rewrite
      • Access URL Redirection
      • Origin-Pull URL Rewrite
    • Modifying Header
      • Modifying HTTP Response Headers
      • Modifying HTTP Request Headers
    • Custom Error Page
    • Request and Response Actions
      • Processing order
      • Default HTTP Headers of Origin-Pull Requests
      • Default HTTP Response Headers
    • Media Services
      • Audio and Video Pre-pulling
      • Just-in-Time Image Processing
      • Just-in-Time Media Processing
      • VOD Media Origin
  • L4 Proxy
    • Overview
    • Creating an L4 Proxy Instance
    • Modifying an L4 Proxy Instance
    • Disabling or Deleting an L4 Proxy Instance
    • Batch Configuring Forwarding Rules
    • Obtaining Real Client IPs
      • Obtaining Real TCP Client IPs via TOA
      • Obtaining Real Client IPs Through Protocol V1/V2
        • Overview
        • Method 1: Obtaining Real Client IPs Through Nginx
        • Method 2: Parsing Real Client IPs on Application Server
        • Format of Real Client IPs Obtained Through Proxy Protocol V1/V2
      • Transmitting Client Real IP via SPP Protocol
  • Edge DNS
    • Hosting DNS Records
      • Modifying DNS Servers
      • Configuring DNS Records
      • Advanced DNS Configuration
    • Domain Connection
      • Adding A Domain Name for Acceleration
      • Ownership Verification
      • Modifying CNAME Records
    • Domain alias
      • Overview
      • Configuration Guide
      • Batch Connecting SaaS Domain Names
      • Configuring Alias Domain Names for Disaster Recovery
    • Traffic Scheduling
      • Traffic Scheduling Management
    • Origin Configuration
      • Origin-pull configuration
        • Configuring Origin-Pull HTTPS
        • Host Header Rewrite
        • Controlling Origin-pull Requests
        • Redirect Following During Origin-Pull
        • HTTP/2 Origin-Pull
        • Range GETs
      • Load Balancing
        • Overview
        • Quickly Create Load Balancers
        • Health Check Policies
        • Viewing the Health Status of Origin Server
        • Related References
          • Load Balancing-Related Concepts
          • Introduction to Request Retry Strategy
      • Origin Group Configuration
      • Related References
        • ld Version Origin Group Compatible Related Issues
      • Collect EdgeOne origin-pull node IP
  • Edge Cache
    • Overview
    • EdgeOne Cache Rules
      • Content Cache Rules
      • Cache Key Introduction
      • Vary Feature
    • Cache Configuration
      • Custom Cache Key
      • Node Cache TTL
      • Status Code Cache TTL
      • Browser Cache TTL
      • Offline Caching
      • Cache Prefresh
    • Clear and Preheat Cach
      • Cache Purge
      • URL Pre-Warming
    • How to improve the Cache Hit Rate of EdgeOne
  • Rules Engine
    • Overview
    • Supported Matching Types and Actions
    • Rule Management
    • variables

Modifying HTTP Request Headers

Overview

When Edgeone nodes origin-pull, if the origin needs to obtain some specific information through the HTTP request header for business logic judgment or data analysis, such as: client device type, acceleration service provider. This can be achieved by customizing/adding/deleting HTTP origin-pull request headers (node origin-pull direction), where the header value supports variables, please refer to EdgeOne preset variables for details.

74b09faad77111ed8c12525400c56988.png


Note:
EdgeOne supports carrying X-Forwarded-For and X-Forwarded-Proto by default for origin-pull, and you do not need to configure it again, please see: Default HTTP Headers of Origin-Pull Requests.

Directions

Scenario 1: Carry device type information to the origin when origin-pulling

For example: If you want the current domain name www.example.com to aggregate the User-Agent header value carried by the client request into device type-related headers and pass them to the origin when origin-pulling, you can refer to the following steps for configuration:
1. Log in to the EdgeOne console and click Site List in the left sidebar.In the site list, click the target Site.
2. On the site details page, click Site Acceleration to enter the global site configuration page, then click the Rule Engine tab.
3. On the rule engine management page, click Create rule and select Add blank rule.
4. On the rule editing page, select the matching type as Host equals www.example.com.
5. Click on the operation, and in the pop-up operation list, select the operation to modify the HTTP origin-pull request header.
6. Select the type as Add, the preset header with the header name EO-Client-Device, and the configuration result is as follows:

7. Click Save and Publish to complete the rule configuration.

Scenario 2: Pass the acceleration domain name to the origin through a custom header when origin-pulling

For example: If your current domain name www.example.com has been configured to origin-pull Host for other domain names, and you want to pass the acceleration domain name to the origin through a custom header Tencent-Acceleration-Domain, you can refer to the following steps for configuration:
1. Log in to the EdgeOne console and click Site List in the left sidebar.In the site list, click the target Site.
2. On the site details page, click Site Acceleration to enter the global site configuration page, then click the Rule Engine tab.
3. On the rule engine management page, click Create rule and select Add blank rule.
4. On the rule editing page, select the matching type as Host equals www.example.com.
5. Click on the operation, and in the pop-up operation list, select the operation to modify the HTTP origin-pull request header.
6. Select the type as Add, the header name as Tencent-Acceleration-Domain, and the header value as ${http.request.host}, and the configuration result is as follows.

7. Click Save and Publish to complete the rule configuration.

Related Reference

The types supported by modifying the HTTP origin-pull request header are described as follows:
Type
Description
Set
Change the value of the specified header parameter to the set value, and the header is unique. Note: If the specified header does not exist, the header will be added.
Add
Add the specified header. Note: If the header already exists, it will still be added and will not overwrite the existing header.
Delete
Delete the specified header.
Supported header name description:
Header Type
Description
Custom
Custom header.
Name: 1 - 100 characters, consisting of numbers 0 - 9, characters a - z, A - Z, and special symbol -.
Value: 1 - 1000 characters, Chinese not supported.
Preset Header
Headers aggregated based on client User-Agent information:
Client Device Type: EO-Client-Device
Value: Mobile, Desktop, SmartTV, Tablet or Others
Client Operating System: EO-Client-OS
Value: Android, iOS, Windows, MacOS, Linux or Others
Client Browser Type: EO-Client-Browser
Value: Chrome, Safari, Firefox, IE or Others

Limitations

In the same Modify HTTP Request Header operation, multiple different types of operations can be added, up to 30, and the execution order is from top to bottom.