全部产品
Search
文档中心

边缘安全加速:等候室快速上手

更新时间:Jun 10, 2026

当您的站点因大促或热门活动面临高并发流量冲击时,源站服务器可能因不堪重负而响应缓慢甚至宕机。等候室功能通过在边缘设置虚拟排队区域,对超出源站处理能力的用户请求进行排队,从而保护源站稳定运行,并为排队用户提供明确的等待预期,优化用户体验。通过以下步骤您可以为您的站点快速搭建并启用一个等候室。

快速开始:5分钟为促销活动配置一个基础等候室

假设您的源站服务器处理并发的能力上限为300个用户,您需要为即将上线的促销活动页面 promo.example.com/flash-sale 配置等候室,以保护服务器。

操作步骤

  1. 在ESA控制台选择站点管理,在站点列单击目标站点。

  2. 在左侧导航栏,选择流量 > 等候室

  3. 等候室区域,单击创建等候室。填写以下核心参数:

    • 等候室名称flash-sale-room

    • 主机名和路径promo.example.com/flash-sale

      • 子域promo

      • 路径flash-sale

    • 自定义Cookie__aliwaitingroom_flash_sale(用于表示排队凭证)

    • 活动用户总数300 (与您的源站并发能力匹配)

    • 每分钟的新用户数300 (确保初始阶段能快速放行用户)

    • 会话持续时间5

效果验证

等候室创建后默认启用。当访问 promo.example.com/flash-sale 的并发用户数超过活动用户总数300时,后来的用户将看到一个等待页面,告知预计等待时间。

image

创建与配置等候室

如果您需要对等候室进行更精细化的控制,可参考以下完整步骤进行配置。

步骤一:等候室设置

在此步骤中,配置等候室的基本信息、容量和准入速率。

image

基本信息

参数

说明

等候室名称

设置一个容易识别的名称,例如 promo_activity_room

主机名和路径

等候室生效的确切 URL。仅适用于指定的子域路径。示例:如果主机名为 event.example.com、路径为 /route,则等候室仅对 event.example.com/route 的请求生效。

等候室设置

image

参数

说明

活动用户总数

用途:设置源站同时可容纳的最大并发用户数。

说明:根据源站实际并发处理能力设置此值。当活跃用户数达到此阈值时,新的请求进入排队。

注意:最小值为 200。如果源站实际负载低于 200,将此值设为 200,并使用每分钟的新用户数参数更精确地控制准入速率。

每分钟的新用户数

用途:设置每分钟从队列放行到源站的最大新用户数,控制源站负载增长速率。

说明:此参数决定队列处理速度。例如设为 300,则每分钟最多 300 个用户从等候页面进入源站。

注意:最小值为 200,且不能超过活动用户总数

会话持续时间

用途:定义用户离开队列后会话的有效时长。

说明:用户成功访问源站后,如果临时离开(例如关闭页面),在此参数设定的时间内返回无需重新排队。默认值为 5 分钟。

禁用会话续订

用途:确定用户在与源站交互期间会话有效期是否自动续订。

注意:此开关的名称与实际行为相反。

  • 关闭(默认):启用会话续订。只要用户保持活跃(持续发送请求),会话就不会过期,不会被送回队列。适用于大多数场景。

  • 开启:禁用会话续订。用户的会话从首次进入源站时开始严格计时。到期后即使用户仍在浏览,也必须重新排队。适用于需要严格控制单次访问时长的场景,如限时抢购。

排队方法

从等候页面放行用户的策略。

  • FIFO:按请求到达顺序放行用户,最公平的方式,推荐默认选择。

  • 随机:从队列中随机选择用户放行。适用于抽奖等不要求公平的场景。

  • 全部拒绝:所有新用户进入等候页面且不予放行。适用于活动预热、系统维护或需要紧急关闭访问的场景。

  • 直通:所有请求绕过队列直接到达源站,等候室实际上被禁用。可用于活动结束后恢复正常访问或功能测试。

步骤二:自定义设置

此步骤用于配置用户在排队时看到的页面内容或API响应。image

参数

说明

等候室类型

默认等候室:系统提供的标准等待页面,会自动显示预计等待时间。您可以选择默认语言模板英语简体中文繁体中文)。

自定义等候室:允许您上传自定义的HTML页面。若需使用请联系您的销售。

  • 您可以编辑模板或直接导入 .html 文件(大小不超过 50KB)。

  • 您可以在HTML中使用动态变量(如 ${waitTime})来显示排队信息。

排队预览

单击链接可以预览等待页面在不同状态(如正在排队全部排队)下的显示效果。

JSON响应

目的:为非浏览器客户端(如App、小程序)提供结构化的排队状态信息。

开启此开关后,当客户端请求头中包含 Accept: application/json 时,ESA将返回JSON格式的排队信息,而不是HTML等待页面,具体参数请参见JSON响应参数说明:。

交互流程

  1. 首次请求:客户端携带 Accept: application/json 请求头访问目标URL。

  2. 获取并存储CookieESA的响应头中会包含一个 Set-Cookie 字段。客户端必须保存此Cookie,作为后续请求的身份凭证。

  3. 轮询状态:客户端需携带此Cookie,并根据响应体中 refreshIntervalSeconds 字段指定的秒数,定时重新请求同一URL以刷新排队状态。

  4. 访问源站:当响应体中的 inWaitingRoom 字段变为 false 时,表示已离开队列,客户端即可使用该Cookie正常访问源站资源。

响应示例

{
  "WaitingRoom": {
    "inWaitingRoom": true,
    "waitTime": 5,
    "waitTimeKnown": true,
    "waitTimeFormatted": "5 minutes",
    "queueIsFull": false,
    "queueAll": false,
    "lastUpdated": "2024-09-10T12:00:00.000Z",
    "refreshIntervalSeconds": 20
  }
}

队列状态码

自定义用户在排队时收到的HTTP响应状态码。默认为200。您可以根据需要修改为202等其他状态码。

步骤三:预览

  1. 预览页面以只读方式展示 Step 1 和 Step 2 的所有配置。确认参数无误后,单击完成创建等候室。

    image

  2. 等候室创建完成后,系统默认启用等候室功能。

    image

  3. 您还可以根据实际情况开启或关闭所有请求全部排队的开关:

    • 关闭:默认状态。当请求数达到活动用户总数每分钟的新用户数中定义的阈值时,超出部分的请求将进入等候室排队。

    • 开启:所有新访客都需要进行排队等候,可以用于为产品发布或其他定期活动做准备。

      说明
      • 已经在您的源站进行访问的活动用户可以继续访问,并且在会话到期之前不会返回队列。

      • 全部排队将覆盖所有其他等候室设置,包括事件设置。

    image

后续步骤

如果您是Enterprise用户,还可以使用以下高级功能对等候室进行更灵活的控制:

  • 等候室计划事件:在预设的特定时间自动调整等候室的容量和速率参数,以应对可预见的流量高峰或低谷。

  • 等候室绕过规则:设置特定规则(如基于IP、Header、Cookie),使满足条件的请求可以绕过等候室,直接访问源站。