添加和管理转发策略

如果您的业务需要根据请求的属性(域名、路径等)或请求中包含的数据信息(HTTP标头、Cookie等)来进行流量分发和处理,您可以自定义监听的转发策略。监听会根据转发策略对访问请求执行不同的转发动作。本文为您介绍转发策略功能原理以及如何添加、管理转发策略。

转发策略原理

转发策略类型

转发策略分为默认转发策略和自定义转发策略:

  • 默认转发策略:创建监听后,系统自动创建一条默认转发策略并关联到默认终端节点组。一个监听中只有一条默认转发策略,且默认转发策略不支持调整优先级、修改和删除。

  • 自定义转发策略:创建监听后,您可以根据实际需求手动创建自定义转发策略。一个监听中可以创建多个自定义转发策略,且多个自定义转发策略可调整优先级。

转发策略组成

每条转发策略均包含转发条件转发动作两个部分,访问请求只有匹配所有的转发条件后,才会执行对应的转发动作。

监听协议类型不同,支持的转发条件和转发动作不同:

监听协议类型

转发条件

转发动作

TCP

域名

转发至丢弃(阻断流量)

HTTP或HTTPS

域名路径HTTP标头HTTP请求方法CookieSourceIP查询字符串

转发至重定向至返回固定响应重写写入Header删除Header丢弃(阻断流量)

说明
  • 如果您的标准型全球加速实例仅支持配置域名路径类型转发条件,以及转发至类型转发动作,不支持其他类型的转发条件和转发动作,可能是由于实例版本不支持。如需使用,请向商务经理申请升级实例。

  • 如果您的标准型全球加速实例不支持为TCP监听添加转发策略,可能是由于实例版本不支持。如需使用,请向商务经理申请升级实例。

转发策略匹配规则

image
  1. 访问请求会按照自定义转发策略的优先级顺序(转发策略编号的数值越小,优先级越高)逐条匹配:

    • 如果可匹配当前自定义转发策略(即满足所有转发条件),立即执行当前自定义转发策略的所有转发动作。

    • 如果不能匹配当前自定义转发策略,则开始匹配次优先级自定义转发策略。

  2. 访问请求未能匹配任何自定义转发策略时,将执行默认转发策略(优先级最低),将访问请求转发至默认终端节点组。

    如果TCP监听存在多个默认终端节点组时,默认转发策略会根据多终端节点组的流量调配规则进行转发。更多信息,请参见多终端节点组流量调配原理及应用场景

说明

路径如果配置为/*,表示匹配所有路径的请求。如果您需要一条兜底的转发规则用于处理非预期的请求,转发条件中路径可以配置为/*,转发动作配置为返回固定响应,状态码设置为404或403,配置完成后将该转发规则拖拽至倒数第二位置即可。

前提条件

添加转发策略

您可以通过以下步骤添加自定义转发策略,对匹配策略的请求执行对应的转发动作。

  1. 登录全球加速管理控制台

  2. 实例列表页面,找到目标全球加速实例,在操作列单击配置监听

  3. 监听页签,找到目标监听,然后单击监听ID。

  4. 在监听详情页面,单击转发策略页签。

  5. 转发策略页签,单击插入新策略,根据以下信息配置转发策略,然后单击确定

    HTTP或HTTPS监听的转发策略

    参数

    说明

    策略名称

    自定义转发策略的名称。

    如果(条件全部匹配)

    选择转发条件类型。您还可以单击+添加转发条件添加多个转发条件。

    • 域名:输入一个或多个域名。支持精准域名、通配符域名、正则表达式域名。关于域名配置规则的更多信息,请参见转发条件的域名配置规则

      一个转发策略内只支持创建一个域名类型转发条件,该转发条件内支持配置多个域名,多个域名间为“或”关系。

      示例:*.example.com

    • 路径:输入一条或多条路径。支持精准路径、通配符路径、正则表达式路径。关于路径配置规则的更多信息,请参见转发条件的路径配置规则

      一个转发策略内支持创建多个路径类型转发条件,多个路径类型转发条件间为“或”关系;一个路径类型条件内支持配置多个路径,多个路径间为“或”关系。

      示例:URL为www.example.com/test/test1?x=1&y=2时可配置为/test/*

    • HTTP标头:在键是字段输入HTTP标头的名称,值是字段输入HTTP标头的内容,可添加多个HTTP标头值。一个转发策略内支持创建多个HTTP标头类型转发条件,多个HTTP标头类型转发条件间为“与”关系,且多个HTTP标头键不能重复;一个HTTP标头类型转发条件内支持配置多个HTTP标头值,且多个HTTP标头值不能重复。

      示例:键是user-agent,值是*Mozilla/4.0*

    • HTTP请求方法:选择HTTP请求方法,包括HEADGETPOSTOPTIONSPUTPATCHDELETE。一个转发策略内只支持创建一个HTTP请求方法类型转发条件,该转发条件内支持配置多个HTTP请求方法,多个HTTP请求方法间为“或”关系。

    • Cookie:输入一个或多个Cookie。一个转发策略内支持创建多Cookie类型转发条件,多个Cookie类型转发条件间为“与”关系;一个Cookie类型条件内支持配置多个Cookie键值对,多个Cookie键值对间为“或”关系。

      示例:keyvalue

    • SourceIP:输入一个或多个IP地址或者IP地址段。一个转发策略内只支持创建一个SourceIP类型转发条件,该转发条件内支持配置多个IP地址或IP地址段,多个IP地址或IP地址段之间为“或”关系。

      示例:IP地址例如1.1.XX.XX/32,IP地址段例如2.2.XX.XX/24

    • 查询字符串:输入一个或多个查询字符串。一个转发策略内支持创建多个查询字符串类型转发条件,多个查询字符串类型转发条件间为“与”关系;一个查询字符串类型条件内支持配置多个字符串键值对,多个字符串键值对间为“或”关系。

      示例:URL为www.example.com/test/test1?x=1&y=2时可配置为x1y2

    那么转发动作是

    选择转发动作类型。您还可以单击+添加动作添加多个转发动作。

    说明
    • 一个转发规则必须包含有一条转发至重定向至返回固定响应类型的转发动作,以保证客户端的请求不会中断转发动作。

    • 一个转发策略中最多只能有一条转发至重定向至返回固定响应类型的转发动作。

    • 若一个转发策略中存在重写写入Header删除Header类型的转发动作,必须同时配置一条转发至类型的转发动作,且顺序必须在转发至类型的转发动作之前。

    • 转发至:选择目标虚拟终端节点组。

    • 重定向至:选择协议状态码并输入跳转的目的主机端口路径查询字符串。其中,协议主机端口路径查询不能全部为空或者默认值。

      重定向至中关于路径的增强配置规则,请参见重写和重定向中路径的增强配置规则

    • 返回固定响应:输入响应状态码,然后选择响应正文类型并输入响应正文

    • 重写:分别输入跳转的目标域名路径查询字符串

      重写中关于路径的增强配置规则,请参见重写和重定向中路径的增强配置规则

    • 写入Header:在键是字段输入HTTP标头名称,值是字段输入HTTP标头的内容。输入信息将覆盖请求中已有的头变量。写入Header中的HTTP标头键不能重复,也不能和删除Header中的HTTP标头键重复。

    • 删除Header:输入HTTP标头名称。删除Header中的HTTP标头键不能重复,也不能和写入Header中的HTTP标头键重复。

    • 丢弃(阻断流量):直接丢弃访问流量。

    TCP监听的转发策略

    重要

    为TCP监听添加转发策略时,需确保流量转发到的后端服务为HTTPS服务,否则添加的转发策略不生效。

    参数

    说明

    策略名称

    自定义转发策略的名称。

    如果(条件全部匹配)

    配置转发条件类型。仅支持域名类型。

    域名类型转发条件支持精准域名、通配符域名、正则表达式域名。关于域名配置规则的更多信息,请参见转发条件的域名配置规则

    示例:*.example.com

    您还可以单击+添加域名添加多个域名类型转发条件,多个域名间为“或”关系。

    那么转发动作是

    选择转发动作类型。

    一个转发策略中最多只能有一条转发至丢弃(阻断流量)类型的转发动作。

    • 转发至:选择目标默认终端节点组或虚拟终端节点组。

    • 丢弃(阻断流量):直接丢弃访问流量。

    您可以单击继续插入策略,一次添加多条转发策略。

  6. 如果您需要添加多个转发策略,可继续单击插入新策略进行添加。

更多操作

说明

不支持对默认转发策略进行编辑、调整优先级、删除操作。

操作

说明

编辑转发策略

转发策略页签,找到目标转发策略,将鼠标悬浮至右上角并单击出现的编辑图标,编辑转发策略,然后单击保存

调整转发策略优先级

转发策略按照优先级从高到低开始匹配,数值越小优先级越高。您可以随时更改自定义转发策略的优先级,不能更改默认转发策略的优先级。

转发策略页签,找到目标转发策略并将其拖拽至目标位置,然后在页面右上角单击保存优先级

删除转发策略

单个删除转发策略

  1. 转发策略页签,找到目标转发策略,将鼠标悬浮至右上角并单击右上角的删除图标。

  2. 在弹出的对话框中,确认转发策略ID信息,然后单击确定删除

批量删除转发策略

  1. 转发策略页签,选中目标转发策略,单击页面右上角批量删除

  2. 在弹出的对话框中,确认转发策略ID信息,然后单击确定删除

使用示例

转发至指定虚拟终端节点组

假设某Web应用使用两台服务器分别通过不同的域名example.comexample.net对外提供服务,并使用全球加速服务提高该Web应用服务质量提升用户访问体验。

全球加速可配置HTTPS监听,通过添加默认终端节点组,绑定默认证书,将访问example.com的请求转发至默认终端节点组。通过添加虚拟终端节点组,绑定扩展证书并创建域名类型转发策略,将访问example.net的请求转发至指定的虚拟终端节点组。

本示例域名类型转发策略配置如下图所示。转发至虚拟终端节点组

说明

关于如何通过配置多证书和转发策略实现加速访问多个HTTPS域名,请参见单个全球加速实例加速访问多个HTTPS域名

重定向HTTP到HTTPS

为了提升网站的安全访问能力,某网站将HTTP服务切换为HTTPS服务,但存量用户可能无法使用原本HTTP方式访问网站。该网站可使用全球加速的转发策略功能配置重定向类型转发策略,默认通过301重定向方式,将客户端到全球加速的HTTP请求跳转为HTTPS请求,HTTPS请求更安全。

本示例中将HTTP:80访问重定向转发至HTTPS:443,重定向类型转发策略配置如下图所示。

重定向

配置基于域名的流量阻断

假设某网站通过域名example.com对外提供服务,并将域名托管在某厂商的CDN服务上,为了进一步提升全球用户的访问体验,该网站部署了阿里云全球加速服务,将CDN作为全球加速的后端服务,实现对网站资源的加速分发。

由于CDN服务具备多租户共享接入IP的特性,当全球加速为example.com提供加速服务时,相当于为该CDN开启了一条加速通道。如果该CDN的其他租户获取到全球加速的加速IP,便可以将其他域名(例如example.net)解析至该加速IP,从而达到"搭便车"的目的。这将导致example.com承担额外的流量和成本,甚至可能引发潜在的安全风险。

为规避上述风险,该网站可以使用全球加速的转发策略功能,配置仅允许来自example.com的请求接入全球加速,其他请求均被丢弃,实现不同域名访问请求的严格隔离以及请求来源验证,从而确保网站安全性。

本示例中将来自example.com请求转发至对应终端节点组中的后端服务中;其他所有域名的请求转发动作为丢弃(阻断流量)

域名访问控制.png

相关文档