Updated on 2024-12-12 GMT+08:00

Adding a QUIC Listener

Scenarios

You can add a QUIC listener to forward requests. The Quick UDP Internet Connection (QUIC) is a UDP-based protocol at the transport layer. It improves congestion control and does not depend on kernel protocols.

QUIC features low latency and avoids head-of-line blocking. It makes video and page loading faster, improving network performance and data security.

Notes and Constraints

  • QUIC listeners can be only added to application load balancers.

    QUIC listeners will be available in more regions. See details on the management console.

  • QUIC listeners can only be associated with HTTP or HTTPS backend server groups.
  • Only iQUIC (HTTP/3) is supported.

Adding a QUIC Listener

  1. Go to the load balancer list page.
  2. On the displayed page, locate the load balancer and click its name.
  3. On the Listeners tab, click Add Listener and configure parameters based on Table 1.
    Table 1 Parameters for configuring a QUIC listener

    Parameter

    Description

    Name

    Specifies the listener name.

    Frontend Protocol

    Specifies the protocol that will be used by the load balancer to receive requests from clients.

    Frontend Port

    Specifies the port that will be used by the load balancer to receive requests from clients.

    The port number ranges from 1 to 65535.

    SSL Authentication

    Specifies whether how you want the clients and backend servers to be authenticated.

    QUIC listeners support only one-way authentication on the server.

    Server certificate

    Specifies the certificate that will be used by the backend server to authenticate the client when QUIC is used as the frontend protocol.

    Both the certificate and private key are required. For details, see Adding a Certificate.

    Enable SNI

    Specifies whether to enable SNI when QUIC is used as the frontend protocol.

    SNI is an extension to TLS and is used when a server uses multiple domain names and certificates.

    This allows the client to submit the domain name information while sending an SSL handshake request. After the load balancer receives the request, the load balancer queries the corresponding certificate based on the domain name and returns it to the client. If no certificate is found, the load balancer will return the default certificate. For details, see SNI Certificate.

    SNI Certificate

    Specifies the certificate associated with the domain name when the frontend protocol is HTTPS and SNI is enabled.

    Select an existing certificate or create one. For details, see Adding a Certificate.

    Access Control

    Specifies how access to the listener is controlled. For details, see What Is Access Control? The following options are available:

    • All IP addresses
    • Blacklist
    • Whitelist

    Transfer Client IP Address

    Specifies whether to transmit IP addresses of the clients to backend servers.

    This function is enabled for dedicated load balancers by default and cannot be disabled.

    Advanced Forwarding

    Specifies whether to enable the advanced forwarding policy. You can configure advanced forwarding policies for HTTP or HTTPS listeners to forward requests to different backend server groups.

    For more information, see Advanced Forwarding.

    Advanced Settings

    HTTP Headers

    You can enable the following options as needed.

    • Transfer headers:
      • Transfer Load Balancer EIP: transmits the EIP bound to the load balancer to backend servers through the X-Forwarded-ELB-IP header.
      • Transfer Listener Port Number: transmits the port number used by the listener to backend servers through the X-Forwarded-Port header.
      • Transfer Load Balancer ID: transmits the load balancer ID to backend servers through the X-Forwarded-ELB-ID header.
    • Rewrite headers:
      • Rewrite X-Forwarded-Host: rewrites the Host header of the client into the X-Forwarded-Host header and transmits it to the backend servers.
      • Rewrite X-Forwarded-Proto: rewrites the listener protocol into the X-Forwarded-Proto header and transmits it to the backend servers.

    For details, see HTTP Headers.

    Data Compression

    Specifies whether to enable the data compression option. If you do not enable this option, files will not be compressed.

    • Brotli can compress all files.
    • Gzip can be configured to compress the following content types:

      text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml application/atom+xml application/xml application/json.

    NOTE:

    This option is available in certain regions. You can see which regions support this option on the console.

    Timeout Durations

    You can configure and modify timeout durations for your listeners to meet varied demands.

    • Idle Timeout (s)

      Specifies the length of time for a connection to keep alive, in seconds. If no request is received within this period, the load balancer closes the connection and establishes a new one with the client when the next request arrives.

      The idle timeout duration ranges from 0 to 4000.

    • Request Timeout (s)

      Specifies the length of time (in seconds) that a load balancer is willing to wait for a client request to complete. The load balancer terminates the connection if a request takes too long to complete.

      The request timeout duration ranges from 1 to 300.

    • Response Timeout (s)

      Specifies the length of time (in seconds) after which the load balancer sends a 504 Gateway Timeout error to the client if the load balancer receives no response from the backend server after routing a request to the backend server and receives no response after attempting to route the same request to other backend servers.

      The response timeout duration ranges from 1 to 300.

      NOTE:

      If sticky sessions are enabled and the backend server does not respond within the response timeout duration, the load balancer returns the 504 error code without attempting to route the same request to other backend servers.

    Maximum New Connections per AZ

    Specifies the maximum number of new connections that a listener can handle per second in each AZ. The default value is Unlimited. You can select Limit request to set the maximum number of new connections.

    The value ranges from 0 to 1000000. 0 indicates that the number is not limited. If the value is greater than the number defined in the load balancer specifications, the latter is used as the limit.

    NOTE:

    This option is available in certain regions. You can see which regions support this option on the console.

    Maximum Concurrent Connections per AZ

    Specifies the maximum number of concurrent connections that a listener can handle per second in each AZ. The default value is Unlimited. You can select Limit request to set the maximum number of concurrent connections.

    The value ranges from 0 to 1000000. 0 indicates that the number is not limited. If the value is greater than the number defined in the load balancer specifications, the latter is used as the limit.

    Reducing the concurrent connection limit do not interrupt established connections.

    NOTE:

    This option is available in certain regions. You can see which regions support this option on the console.

    Tag

    Adds tags to the listener. Each tag is a key-value pair, and the tag key is unique.

    NOTE:

    If your organization has configured tag policies for ELB, add tags to load balancers based on the tag policies. If you add a tag that does not comply with the tag policies, load balancers may fail to be created. Contact your organization administrator to learn more about tag policies.

    Description

    Provides supplementary information about the listener.

    You can enter a maximum of 255 characters.

  4. Click Next: Configure Request Routing Policy.
    1. You are advised to select an existing backend server group.
    2. You can also click Create new to create a backend server group.
      1. Configure the backend server group based on Table 3.
      2. Click Next: Add Backend Server. Add backend servers and configure the health check for the backend server group.

        For details about how to add backend servers, see Backend Server Overview. For the parameters required for configuring a health check, see Table 4.

  5. Click Next: Confirm.
  6. Confirm the configuration and click Submit.