Updated on 2024-03-15 GMT+08:00

Forwarding Policy (Dedicated Load Balancers)

Overview

You can add forwarding policies to HTTP or HTTPS listeners to forward requests to different backend server groups based on domain names or URLs.

A forwarding policy consists of one or more forwarding rules and an action. For details, see Table 1.

Table 1 Rules and actions supported by a forwarding policy

Policy Type

Forwarding Rules

Actions

Forwarding policy

Domain name and URL

Forward to another backend server group and Redirect to another listener (only for HTTP listeners)

Advanced forwarding policy

Domain name, URL, HTTP request method, HTTP header, query string, and CIDR block

The following actions are supported: forward to a backend server group, redirect to another listener, redirect to another URL, and return a specific response body.

You can configure an advanced forwarding policy by referring to Managing an Advanced Forwarding Policy.

How Requests Are Matched

  • After you add a forwarding policy, the load balancer forwards requests based on the specified domain name or URL:
    • If the domain name or URL in a request matches that specified in the forwarding policy, the request is forwarded to the backend server group you create or select when you add the forwarding policy.
    • If the domain name or URL in a request does not match that specified in the forwarding policy, the request is forwarded to the default backend server group of the listener.
  • Matching priority:
    • Forwarding policy priorities are independent of each other regardless of domain names. If a forwarding rule uses both domain names and URLs, requests are matched based on domain names first.
    • If the forwarding rule is a URL, the priorities follow the order of exact match, prefix match, and regular expression match. If the matching types are the same, the longer the URL length, the higher the priority.
Table 2 Example forwarding policies

Request

Forwarding policy

Forwarding Rule

Specified Value

www.elb.com/test

1

URL

/test

2

Domain name

www.elb.com

In this example, request www.elb.com/test matches both forwarding policies 1 and 2, but is routed based on forwarding policy 2.

Notes and Constraints

  • You can add forwarding policies to HTTP and HTTPS listeners.
  • Forwarding policies must be unique.
  • A maximum of 100 forwarding policies can be configured for a listener. If the number of forwarding policies exceeds the quota, the excess forwarding policies will not be applied.
  • When you add a forwarding policy, note the following:
    • Each URL path must exist on the backend server. Otherwise, the backend server returns 404 when you access the backend server.
    • In the regular expression match, the rules are matched sequentially, and matching ends when any rule is successfully matched. Matching rules cannot overlap with each other.
    • A URL path cannot be configured for two forwarding policies.
    • A domain name cannot exceed 100 characters.

Adding a Forwarding Policy

  1. Log in to the management console.
  2. In the upper left corner of the page, click and select the desired region and project.
  3. Hover on in the upper left corner to display Service List and choose Networking > Elastic Load Balance.
  4. On the Load Balancers page, locate the load balancer and click its name.
  5. On the Listeners tab page, add a forwarding policy in either of the following ways:
    • Click Add/Edit Forwarding Policy in the Forwarding Policies column.
    • Locate the target listener, click its name, and click Forwarding Policies.
  6. Click Add Forwarding Policy. Configure the parameters based on Table 3.
    Table 3 Forwarding policy parameters

    Parameter

    Type

    Description

    Example Value

    Forwarding Rule

    Domain name

    Specifies the domain name used for forwarding requests. The domain name in the request must exactly match that in the forwarding policy.

    You need to specify either a domain name or URL.

    www.test.com

    URL

    Specifies the URL used for forwarding requests. There are three URL matching rules:

    • Exact match: The request URL must exactly match that specified in the forwarding policy.
    • Prefix match: The requested URL starts with the specified URL string.
    • Regular expression match: The URLs are matched using a regular expression.

    /login.php

    Action

    Forward to a backend server group

    If the request matches the configured forwarding rule, the request is forwarded to the specified backend server group.

    -

    Redirect to another listener

    If the request matches the configured forwarding rule, the request is redirected to the specified HTTPS listener.

    This action can be configured only for HTTP listeners.

    NOTE:

    If you select Redirect to another listener, the HTTP listener will redirect requests to the specified HTTPS listener, but access control configured for the HTTP listener still takes effect.

    -

  7. Click Save.