为使函数和Pages能通过自定义公网路径访问,您需要为其配置一个域名作为触发入口。边缘安全加速 ESA提供域名绑定和路由两种方式,用于将 HTTP/S 请求引导至您的函数和Pages。
限制条件
无论是使用域名绑定还是路由,都需要账号下存在一个处于可用状态的站点。
可用状态是指站点已购买套餐且完成NS或CNAME的方式接入。
选择合适的配置方式
特性 | 域名绑定 | 路由 |
核心用途 | 将指定域名(例如 | 仅将特定域名下匹配预设路径(例如 |
影响范围 | 域名下的全量流量 | 匹配规则的部分流量 |
配置方式 | 简单,一步到位 | 灵活,需要配置匹配规则 |
适用场景 |
|
|
使用域名绑定
域名绑定适用于将一个域名的全部流量都定向到指定的函数和Pages进行处理。
域名绑定功能允许您将函数和Pages链接至自己的站点域名,在完成域名绑定后,您可以直接使用该域名对函数和Pages进行访问。函数和Pages绑定的域名需要归属于某个可用站点,在控制台配置后,ESA将自动在站点下添加一条绑定域名的DNS记录。
使用路由配置
适用于仅将特定 URL 路径的请求转发至函数和Pages处理,实现更精细化的流量控制。当请求与配置的URL匹配时,将由函数和Pages处理该请求,否则将继续执行加速回源的ESA流程。如下图所示,当您为example.com站点配置了example.com/a*的路由规则后,所有与路由规则匹配的路径访问例如/a、/a1、/a2都会由函数和Pages处理,而其他与路由规则不匹配的路径访问例如/b、/c、/d会继续遵循加速回源或缓存的流程。
登录ESA控制台,在左侧导航栏选择。单击需要进行绑定的函数和Pages。
选择域名页签,单击路由栏的添加路由。

填写路由名称,在选择站点列表中选择目标站点,例如:
example.com。选择路由模式:
简单模式:适用于仅基于 URL(主机名+路径)进行匹配的场景。例如,配置URL前缀为
pages.example.com的所有请求都路由至函数和Pages:
自定义模式:适用于需要组合多个条件(如请求头、Cookie、请求方法等)进行复杂逻辑匹配的场景。您可以添加多个匹配条件,并设置条件间的逻辑关系(满足所有/满足任意)。例如,您可以配置一条规则:当
主机名等于www.example.com并且User-Agent请求头包含Mobile时,才将请求转发至函数和Pages:
单击确定。
如果路由使用简单模式时,输入的是
*.example.com或www.example.com这种带有前缀的域名,需要在ESA的DNS记录存在一条对应的记录或手动添加一条记录,否则访问将失败。函数路由如果存在多条配置,从上至下一旦有一条匹配成功,则跳出不再执行下面的匹配。
匹配规则
路由配置必须同时包含域名主机名和路径URI信息,因此任何只包含路径URI的路由规则例如
/path将无法配置。路由配置通过添加前后通配符
*的方式来匹配更多请求,通配符*支持匹配零个或多个任意字符。例如example.com/*将匹配访问example.com的所有请求。路由配置区分大小写。例如
example.com/a和example.com/A将是两条不同的路由规则。路由配置不支持配置中间通配符
*和参数。例如example.com/*/path和example.com/path?param=1的形式都是不允许的。当访问请求和多个路由配置都可以匹配时,将优先匹配更早配置的规则项。
旁路模式
开启函数路由的旁路模式后,如果您的请求命中路由策略,请求将以子请求的方式旁路访问函数和Pages服务。旁路模式的整体流程为:
客户端发起请求访问ESA边缘节点。
请求命中路由策略,被转发至函数和Pages处理,您可以在函数和Pages根据请求内容进行日志打点、鉴权等操作。需要注意,开启旁路模式时,请求体将不会被转发至函数和Pages。
如果函数和Pages返回的响应中状态码是
200,则请求将继续后续处理流程;如果返回响应中状态码非200,ESA将中止对该请求的处理并返回403给客户端。该请求将根据后续策略匹配请求,继续执行ESA的缓存匹配或加速回源逻辑。
缓存命中后的响应或源站的响应返回ESA节点,此时该响应不会再由函数和Pages处理。
响应被转发至客户端。
常见场景
日志打点场景:如果您希望对部分请求产生打点日志,便可以将请求通过旁路模式转发至函数和Pages,并在函数中自定义日志打点逻辑。
大文件下载鉴权场景:边缘函数在将响应转发至客户端时,会消耗CPU时间,如果响应内容过大,往往会造成CPU时间片超限,并产生额外的费用。您可以使用旁路模式通过函数和Pages完成鉴权,避免上述问题的发生。


