Edge Acceleration
  • Site Acceleration
    • Overview
    • Access Control
      • Token authentication
        • Token Authentication
        • Authentication Method A
        • Authentication Method B
        • Authentication Method C
        • Authentication Method D
        • Authentication Method V
    • Smart Acceleration
    • Cache configuration
      • Overview
      • EdgeOne caching rules introduction
        • 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
        • Prefetch M3U8
      • How to improve the Cache Hit Rate of EdgeOne
    • File Optimization
      • Content Compression
      • 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
      • Network Error Logging
    • URL Rewrite
      • Access URL Redirection
      • Origin-Pull URL Rewrite
    • Modifying Header
      • Modifying HTTP Response Headers
      • Modifying HTTP Request Headers
    • Modify response content
      • HTTP Response
      • Custom Error Page
    • Rules Engine
      • Overview
      • Rule Management
      • variables
      • Supported Matching Types and Actions
    • Image and video processing
      • Audio and Video Pre-pulling
      • Just-in-Time Image Processing
      • Video Just-In-Time Processing
      • VOD Media Origin
    • Speed limit for single connection download
    • Request and Response Actions
      • HTTP Response
      • Processing order
      • Default HTTP Headers of Origin-Pull Requests
      • Default HTTP Response Headers
      • HTTP Restrictions
    • 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
  • Domain name service and origin server configuration
    • Domain Name Services
      • Overview
      • DNS resolution for managed domains
        • Modifying DNS Servers
        • Configuring DNS Records
        • Batch Importing DNS Records
        • Advanced DNS Configuration
      • Access accelerated domains
        • Adding A Domain Name for Acceleration
        • Ownership Verification
        • Modifying CNAME Records
        • Verify Business Access
      • Traffic scheduling
        • Traffic Scheduling Management
    • HTTPS Certificate
      • Overview
      • Edge HTTPS Certificate
        • Overview
        • Deploying/Updating SSL Certificate for A Domain Name
        • Configuring A Free Certificate for A Domain Name
        • Using Keyless Certificate
      • Edge mTLS Authentication
      • Origin Certificate Validation
      • HTTPS configuration
        • Forced HTTPS Access
        • Enabling HSTS
        • SSL/TLS security configuration
          • Configuring SSL/TLS Security
          • TLS Versions and Cipher Suites
        • Enabling OCSP Stapling
      • Related References
        • Using OpenSSL to Generate Self-Signed Certificates
        • Certificate Format Requirements
        • The Difference Between one-way authentication and Mutual authentication
    • Origin Configuration
      • 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
      • Origin configuration
        • Origin-Pull Timeout
        • Configuring Origin-Pull HTTPS
        • Host Header Rewrite
        • Controlling Origin-pull Requests
        • Redirect Following During Origin-Pull
        • HTTP/2 Origin-Pull
        • Range GETs
        • Modify Origin
        • Origin-pull Rate Limiting Policy
      • Origin Protection(Obtaining/Updating Origin IP Address Range)
      • Related References
        • ld Version Origin Group Compatible Related Issues

variables

Introduction

The variables of the rule engine allow you to dynamically extract and process data within request. These variables can not only store static values but also use for specific fields or information in the request, the value of which may change when processing each request. For example: the http.request.host variable, which can extract the hostname in each HTTP request. This capability enables the rule engine to handle more complex business logic.

Content

Below are the preset variables currently supported by EdgeOne, which extract specific fields or information from client HTTP requests as variables.
Note:
When using variables, please adhere to the following format: ${http.request.scheme}. If the format or name is incorrect, the variable cannot be successfully utilized.
Currently, variables can be used independently, concatenated with constants, or combined with other variables.
Name
Type
Description
Example
http.request.scheme
String
Client request protocol
http
https
http.request.zone
String
Site name
example.com
http.request.zoneid
String
Site ID
zone-2c2r77pc3796
http.request.host
String
Hostname in the client request URI
www.example.com
http.request.full_uri
String
Full URI of the client request (not including #fragment)
htt­ps://www.example.org/articles/index?section=539061&expand=comments
http.request.method
String
Client request HTTP method
GET
http.request.uri
String
Client request URI path and query string
/articles/index?section=539061&expand=comments
http.request.uri.path
String
Client request URI path
/articles/index
http.request.file_extension
String
File extension of the client request file
jpg
http.request.filename
String
Filename of the client request file
bot.txt
http.request.uri.query
String
The whole query string of the client request, not including the ? separator
section=539061&expand=comments
http.request.headers["key"]
String
The header value of the specified header name "key" in the client request, "key" can be replaced with your specified name.
If the specified header name appears multiple times, the variable value will be the last one.
Client request URL: https://developer.mozilla.org , with headers -H 'key: 123' -H 'key: 456' , then the variable value obtained is 456
http.request.uri.args["key"]
String
The parameter value of the specified parameter name "key" in the client query string, "key" can be replaced with your specified name.
If the specified header name appears multiple times, the variable value will be the last one.
Client request URL: https://developer.mozilla.org?key=123&key=456 , then the variable value obtained is 456
http.request.version
String
The version of the HTTP protocol used in the client request
HTTP/1.0
HTTP/1.1
HTTP/2
HTTP/3
http.request.ip
String
Client TCP IP address, for example: 1.1.1.1
93.184.216.34
http.request.ip.port
String
Client Port
1028
http.request.ip.city
String
City associated with the client IP address
San Francisco
http.request.ip.continent
String
Continent code associated with the client IP address
AF: Africa
AS: Asia
EU: Europe
NA: North America
SA: South America
OC: Oceania
AN: Antarctica
http.request.ip.country
String
2-letter country code in ISO 3166-1 Alpha 2 format associated with the client IP address
GB, see more in ISO 3166-1 Alpha 2

Use Case

1. The custom origin-pull request header carries the information of the country where the client IP address is located back to the origin.



2. Custom origin-pull request headers allow the origin server to collect and analyze which domains have been accelerated by Tencent's EdgeOne.



3. Custom Cross-Origin Request Policy: Allows cross-origin requests from domains specified in the Origin header of the request.



4. Custom Node Response Header: Utilize the value of the filename parameter in the URL and concatenate it with a fixed constant to form the value of the Content-Disposition response header.