QUIC(Quick UDP Internet Connections)协议能帮助您大幅提升客户端访问速度,尤其是在弱网络、Wi-Fi和移动网络频繁切换等场景下,无需重连即可实现多路复用,提升资源的访问效率,同时保障数据传输的安全性。

背景信息

QUIC协议又被称为快速UDP互联网连接,提供与SSL相当的安全性,同时具备多路复用、0-RTT握手等多种优势,具有极佳的弱网性能,在丢包和网络延迟严重的情况下仍可提供可用的服务。QUIC协议在应用程序层面可以实现不同的拥塞控制算法,不需要操作系统和内核支持,相比于传统的TCP协议,拥有了更好的改造灵活性,非常适合在TCP协议优化遇到瓶颈的业务。

随着短视频、直播等新兴业务的飞速发展,流媒体传输对于带宽和延迟提供了双重要求,QUIC协议可以有效解决网络、视频卡顿的问题,提升音视频资源的访问效率,同时保障数据传输的安全性。目前,阿里云应用型负载均衡ALB支持的QUIC协议版本有:Q46、Q44、Q43、Q39、Q36和Q35。

客户端要求

  • 如果您使用Chrome浏览器,支持直接对ALB发起QUIC协议请求。
  • 如果您使用其他客户端,则客户端必须集成支持QUIC协议的网络库,例如:lsquic-client或cronet网络库。

前提条件

  • 已创建后端服务器组,并添加后端服务器。具体操作,请参见管理服务器组
  • 您已经在ALB实例上部署至少一个SSL服务器证书。

步骤一:创建QUIC监听

  1. 登录应用型负载均衡ALB控制台
  2. 在顶部菜单栏,选择ALB实例的所属地域。
  3. 实例页面,找到目标实例,然后在操作列单击创建监听
  4. 配置监听配置向导,完成以下配置,然后单击下一步
    监听配置 说明
    选择负载均衡协议 选择监听的协议类型。

    本示例选择QUIC

    监听端口 输入用来接收请求并向后端服务器进行请求转发的监听端口。

    端口范围为1~65535。

    说明 在同一个负载均衡实例内,监听端口不可重复。
    监听名称 输入监听名称,自定义。
    高级配置 单击修改展开高级配置。
    连接请求超时时间 指定请求超时时间,取值范围为1~180秒。

    在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。

    Gzip数据压缩 开启该配置对特定文件类型进行压缩。

    目前Gzip支持压缩的类型包括:text/xmltext/plaintext/cssapplication/javascriptapplication/x-javascriptapplication/rss+xmlapplication/atom+xmlapplication/xml

    附加HTTP头字段 选择您要添加的自定义HTTP header字段:
    • 通过SLB-ID头字段获取负载均衡实例的ID。
    • 通过X-Forwarded-Proto头字段获取负载均衡实例的监听协议。
    • 通过X-Forwarded-Port头字段获取负载均衡实例的监听端口。
  5. 配置SSL证书配置向导,选择服务器证书,然后单击下一步
  6. 选择服务器组配置向导,从服务器组列表中,选择后端服务器组,查看后端服务器信息,然后单击下一步
  7. 配置审核配置向导,确认配置信息,单击提交

步骤二:创建HTTPS监听

说明 创建HTTPS监听时,请开启QUIC升级,并关联已创建的QUIC监听。使用Chrome浏览器访问ALB时,会优先使用QUIC监听,如果QUIC监听不可用,自动切换到关联的HTTPS监听。
  1. 实例页面,找到目标实例,然后在操作列单击创建监听
  2. 配置监听配置向导,完成以下配置,然后单击下一步
    监听配置 说明
    选择负载均衡协议 选择监听的协议类型。

    本示例选择HTTPS

    监听端口 输入用来接收请求并向后端服务器进行请求转发的监听端口,本示例输入443。通常HTTP协议使用80端口,HTTPS协议使用443端口。

    端口范围为1~65535。

    说明 在同一个负载均衡实例内,监听端口不可重复。
    监听名称 输入监听名称。长度为2~256个字符,必须是中文和以下字符串中的字符:/^([^\x00-\xff]|[\w.,;/@-]){2,256}$/
    高级配置 单击修改展开高级配置。
    启用HTTP 2.0 选择是否开启HTTP 2.0。
    连接空闲超时时间 指定连接空闲超时时间,取值范围为1~60秒。
    在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到下一次请求来临时重新建立新的连接。
    说明 该功能对使用HTTP 2.0的请求暂不生效。
    连接请求超时时间 指定请求超时时间,取值范围为1~180秒。

    在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。

    Gzip数据压缩 开启该配置对特定文件类型进行压缩。

    目前Gzip支持压缩的类型包括:text/xmltext/plaintext/cssapplication/javascriptapplication/x-javascriptapplication/rss+xmlapplication/atom+xmlapplication/xmlapplication/json

    附加HTTP头字段 选择您要添加的自定义HTTP header字段:
    • 添加X-Forwarded-For头字段获取来访者真实IP。
    • 添加SLB-ID头字段获取负载均衡实例的ID。
    • 添加X-Forwarded-Proto头字段获取实例的监听协议。
    • 添加X-Forwarded-Clientcert-subjectdn头字段获取访问负载均衡实例客户端证书的所有者信息。
    • 添加X-Forwarded-Clientcert-issuerdn头字段获取访问负载均衡实例客户端证书的所发行者信息。
    • 添加X-Forwarded-Clientcert-fingerprint头字段获取访问负载均衡实例客户端证书的指纹取值。
    • 添加X-Forwarded-Clientcert-clientverify头字段获取访问负载均衡实例客户端证书的校验结果。
    • 添加X-Forwarded-Port头字段获取实例的监听端口。
    • 添加X-Forwarded-Client-Port头字段获取访问负载均衡实例客户端的端口。
    开启QUIC升级 选择是否开启QUIC升级,如果开启QUIC升级,请选择一个关联的QUIC监听。
  3. 配置SSL证书配置向导,选择服务器证书,然后单击下一步
    说明 如果您要开启HTTPS双向认证或者设置TLS安全策略,单击高级配置后的修改
  4. 选择服务器组配置向导,从服务器组列表中,选择后端服务器组,查看后端服务器信息,然后单击下一步
  5. 配置审核页面,确认配置信息,单击提交