Alibaba Cloud CDN allows you to rewrite HTTP headers in back-to-origin requests. You can add, delete, change, and replace HTTP headers in back-to-origin requests based on your business requirements.

Background information

HTTP request headers are a component of the header section in request messages transmitted over HTTP. HTTP request headers bring specific parameters to servers.

If the requested resource is not cached on CDN nodes, the request is redirected to the origin server. The information carried by the request headers is passed to the origin server. Alibaba Cloud CDN allows you to rewrite HTTP headers in back-to-origin servers so that your origin server can identify user information more easily. For example, you can set the X-Forward-For header to bring real client IP addresses to your origin server.

HTTP request header
Note
  • A back-to-origin request is an HTTP message that is transmitted by Alibaba Cloud CDN to the origin server of a specific accelerated domain name. A rewrite rule rewrites only HTTP headers in HTTP requests that are transmitted between an origin server and CDN nodes. It does not rewrite HTTP headers in HTTP requests that are transmitted between CDN nodes and clients.
  • You cannot configure custom HTTP request headers for wildcard domain names.

Procedure

  1. Log on to the Alibaba Cloud CDN console.
  2. In the left-side navigation pane, click Domain Names.
  3. On the Domain Names page, find the domain name that you want to manage and click Manage in the Actions column of the domain name.
  4. In the management pane of the domain name, click Back-to-origin.
  5. Click the Custom Request Headers (New) tab.
  6. Click Customize.
  7. Set the parameters in the Back-to-origin Request Headers dialog box.
    Notice If different operations are performed on the same request header at the same time, these operations have different priorities. The operations are prioritized in the following descending order: Replace > Add > Change or Delete. For example, if you perform the Add and Delete operations on the same request header at the same time, the request header is added and then deleted.
    • Parameters of the Add operationRewrite an HTTP request header
      Parameter Example Description
      Operation Add Adds a specific request header to back-to-origin HTTP requests.
      Request Header Custom Back-to-origin Request Headers

      You can use the default value, or select Custom Back-to-origin Request Headers from the Request Header drop-down list to specify a request header.

      Header Name x-code

      The name of the custom request header is x-code.

      Header Value key1, key2

      You can specify one or more values for a request header. Separate values with commas (,).

      Allow Duplicates Yes
      • Yes: You can add duplicate request headers. For example, x-code:key1 and x-code:key2 can coexist.
      • No: The latest header value overwrites the existing one that uses the same header name. For example, if you add x-code:key1 and then add x-code:key2, the final header key-value pair is x-code:key2.
    • Parameters of the Delete operationDelete
      Parameter Example Description
      Operation Delete Deletes the values of all specified request headers. Duplicate headers are also deleted.
      Request Header Custom Back-to-origin Request Headers

      You can use the default value, or select Custom Back-to-origin Request Headers from the Request Header drop-down list to specify a request header.

      Header Name x-code

      The name of the custom request header is x-code.

    • Parameters of the Change operationChange
      Parameter Example Description
      Operation Change You can perform the Change operation only if no duplicate request headers exist.
      Request Header Custom Back-to-origin Request Headers

      You can use the default value, or select Custom Back-to-origin Request Headers from the Request Header drop-down list to specify a request header.

      Header Name x-code

      The name of the custom request header is x-code.

      Change Value To key1, key3

      You can specify one or more values for a request header. Separate values with commas (,).

    • Parameters of the Replace operationReplace
      Parameter Example Description
      Operation Replace You can perform the Replace operation only if no duplicate request headers exist.
      Request Header Custom Back-to-origin Request Headers

      You can use the default value, or select Custom Back-to-origin Request Headers from the Request Header drop-down list to specify a request header.

      Header Name x-code

      The name of the custom request header is x-code.

      Find key Allows you to use regular expressions to search for the value that you want to replace.
      Replace With abc Allows you to use regular expressions to replace matching values.
      Match Match All
      • Match All: All matching values are replaced. For example, if you use a regular expression to replace all the "key" in x-code:key1,key2,key3 with "abc", the key-value pair is changed tox-code:abc1,abc2,abc3.
      • Match the First Only: Only the first matching value is replaced. For example, if you use a regular expression to replace the first "key" in x-code:key1,key2,key3 with "abc", the key-value pair is changed to x-code:abc1,key2,key3.
  8. Click OK.