边缘安全加速平台 EO 源站故障转移

在实际业务场景中,源站可能因故障、过载或网络异常而无法正常响应客户端请求,导致业务访问失败。EdgeOne 支持源站故障转移操作,可根据设置的 HTTP 响应状态码,自动执行回源重试策略,在源站故障时将请求转移至备用源站或指定地址,从而提升访问成功率,且重试过程对客户端无感知。

相关产品
边缘安全加速平台 EO 产品页,含版本规格、价格与购买入口。

一、概述

若域名同时关联了负载均衡和规则引擎的「源站故障转移」操作,EdgeOne 会先按照负载均衡的策略回源,若仍然失败,再执行「源站故障转移」操作。

注意:说明:

注意:源站故障转移为白名单功能,如需使用,请 联系我们 申请开通。

二、功能说明

1. 支持的匹配条件:全部请求特征,以及「HTTP 响应状态码」,其中「HTTP 响应状态码」需要在「源站故障转移」操作的字段中指定(详见下方操作示例)。

2. 支持的响应状态码:

·源站有明确响应状态码,例如 404、502 等,指定对应状态码即可。

·源站无明确响应状态码,如回源 TCP 建连失败、HTTP 响应超时、SSL 握手失败等场景,EdgeOne 未收到响应状态码,若希望针对这些场景进行重试,需要通过转化后的状态码进行匹配。

场景 转化后的状态码
节点与源站 TCP 建连成功后,向源站发起 HTTP/HTTPS 请求,但源站直接响应 RST 包 520
节点请求到源站,在 TCP 建连阶段,源站直接发送 RST 包 521
节点请求到源站,在 TCP 建连阶段,源站一直没有响应直至节点超时 522
若域名配置的源站为域名,则节点回源时,需要解析域名获取源站服务器 IP,但解析失败,导致节点无法回源 523
节点与源站 TCP 建连成功后,向源站发起 HTTP/HTTPS 请求,源站一直没有响应直至节点超时 524
若回源协议为 HTTPS,则节点回源时需要与源站进行 SSL 握手,但握手失败 525

3. 支持的重试模式

源站故障转移提供以下五种模式,用户可根据业务需要选择并配置一种或多种模式(目前最多支持 2 种),并按从上到下的优先级生效:当前策略回源失败后,自动按优先级重试下一条策略。

注意:在同一条规则中,「重定向至指定 URL」与「使用自定义响应页面」只能二选一,且这两种模式只能设置为最低优先级,作为兜底策略。

三、模式一:回源到指定 IP/域名

字段 说明
回源 IP/域名 支持填写 IP 或域名。值支持变量、以及常量 & 变量的拼接
目标 Hostname 枚举值为「跟随请求」、「自定义」;选择「自定义」时输入值支持变量、以及常量 & 变量的拼接
目标请求协议 枚举值为「跟随请求」(默认值)、「HTTP」、「HTTPS」
HTTP 回源端口 默认值 80,支持自定义
HTTPS 回源端口 默认值 443,支持自定义
目标路径 枚举值为「跟随请求」(默认值)、「增加路径前缀」、「移除路径前缀」、「自定义完整路径」、「正则替换」
HTTP/2 回源 关闭(默认值)、开启
回源请求参数设置 默认「查询字符串」全部保留、「Cookie」全部保留,支持自定义

四、模式二:回源到腾讯云 COS

字段 说明
存储桶 从下拉框中选择账号下有权限的存储桶
存储桶访问方式 默认域名、静态网站
私有访问授权 若存储桶为私有读,则需要开启
目标路径 枚举值为「跟随请求」(默认值)、「增加路径前缀」、「移除路径前缀」、「自定义完整路径」、「正则替换」
HTTP/2 回源 开启、关闭(默认值)
回源请求参数设置 默认「查询字符串」全部保留、「Cookie」全部保留,支持自定义

五、模式三:回源到兼容 AWS S3 的对象存储

字段 说明
存储桶地址 S3 类型的源站域名,例如:example.s3.ap-northeast.amazonaws.com
私有访问授权 若存储桶为私有读,则需要开启
签名鉴权版本 AWS signature v4、AWS signature v2
Access Key ID 按实际情况填写,用于签名计算
Secret Access Key 按实际情况填写,用于签名计算
目标路径 枚举值为「跟随请求」(默认值)、「增加路径前缀」、「移除路径前缀」、「自定义完整路径」、「正则替换」
HTTP/2 回源 开启、关闭(默认值)
回源请求参数设置 默认「查询字符串」全部保留、「Cookie」全部保留,支持自定义

六、模式四:重定向至指定 URL

字段 说明
URL 地址 支持变量、以及常量 & 变量的拼接
状态码 枚举值为 301、302、303、307、308

七、模式五:使用自定义响应页面

字段 说明
页面 从下拉框中选择账号下有权限的「自定义响应页面」
状态码 指定响应页面时的状态码,支持 2XX、4XX,5XX,不包括 499、514、101、301, 302, 303、509、520-599

八、操作步骤

例如:当前你自建的电商服务网站通过 shop.example.com 提供在线支付能力,如果在用户访问高峰期,可能出现源站过载,响应 503/522/544 状态码,为了避免用户流失,希望在响应这些状态码时,自动重试其它源站 origin.sitefailover.com(回源协议、路径、参数等均保持默认,不修改),如果仍重试失败,再通过 302 将请求重定向至指定 URL https://www.example.com/error.html 。你可以参照以下步骤操作:

1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。在站点详情页面,单击规则引擎,进入规则引擎管理页面。

2. 在站点详情页面,单击站点加速,进入站点全局配置页面,单击规则引擎 Tab 页。

3. 在规则引擎页面,单击创建规则,选择新增空白规则,进入新规则的编辑页面。

4. 在规则编辑页面,匹配类型选择为 HOST 等于 shop.example.com。

5. 单击操作 > 选择框,在弹出的操作列表内,选择操作为 源站故障转移。

6. 生效的状态码范围:支持下拉框选择以及自定义输入。

7. 选择模式为回源到指定 IP/域名,回源 IP/域名填写 origin.sitefailover.com,其它配置保持默认值,不修改即可。

8. 单击添加,选择模式为重定向到指定 URL,状态码选择 302,URL 地址填写 http://www.example.com/custom-page.html。

9. 完整的规则配置如下所示,单击保存并发布,即可完成该规则配置。

九、功能生效行为&限制说明

1. 「源站故障转移」操作,纳入了和回源相关的所有功能项,这些功能项均有对应的独立 Action(如回源 URL 重写、回源请求参数设置,HTTP/2 回源等)。执行「源站故障转移」操作时,回源行为以该操作里设定的为准,不受到其它独立 Action 的影响,仅回源请求头会继承「修改 HTTP 回源请求头」操作的行为。

2. 「源站故障转移」操作与以下功能存在冲突,不支持同时开启:

·回源限频策略

·使用双向认证握手回源

·源站证书校验

赞 (0)
上一篇 4天前
下一篇 4天前