ESA的边缘节点提供Serverless代码执行环境,只需编写业务函数代码并配置触发规则,无需配置服务器或管理基础设施,即可在靠近用户的边缘节点上实现代码的弹性伸缩与安全运行,显著降低运维成本,提升响应速度。
您可以参考以下简单的配置流程学习如何将代码快速部署到ESA全球节点。
步骤一:创建函数
步骤二:开发并调试函数
根据实际业务需求,修改函数代码并进行本地调试,完成后将代码部署至测试环境,持续观测其运行状态与性能表现,确保稳定性与功能正确性。
单击绑定域名,然后选择代码页签,使用
JavaScript ES6语法开发函数。

ESA在控制台代码开发工具右侧提供了一套调试环境,完成代码开发后,单击保存。在右侧工具栏构造HTTP的请求方法、请求头、请求体,构造完成后单击请求按钮,控制台将直接返回请求经过函数处理后的响应结果。
调试完代码后,单击生成版本。
选择部署页签,单击版本发布,在弹出的对话框中选择测试环境进行发布。函数将在边缘测试节点生效,您可直接通过绑定
Host的方式使用真实客户端发出请求并在客户端查看结果。
步骤三:发布正式版本
测试环境运行稳定且验证通过后,可将函数代码安全发布至生产环境。
选择部署页签,单击版本发布。
单击生产环境,选择待发布的版本,然后单击发布,所有生产环境的节点都将部署该版本函数代码。

如何绑定自定义域名
您可以为函数绑定域名,将指定域名的全部流量转发至该函数,例如将er.example.com绑定至函数,实现全量请求由函数处理;同时,也支持通过函数路由配置URL路径规则,将某个域名下的部分路径流量精准转发至函数,例如将er.example.com/test/path/的请求路由至函数,实现灵活、精细的流量调度。
前提条件
请确保已在ESA上添加目标站点,且站点状态为已启动状态。
如需通过HTTPS协议访问边缘函数,需确保已配置有效的SSL/TLS证书。
绑定步骤
在函数和Pages界面,选择创建的函数。

选择域名页签,通过添加域名或路由规则,将域名的流量转发至函数。
添加域名
将域名绑定函数后,可以直接使用该域名对函数进行访问。
例如:您已在ESA添加了站点
example.com,可以将域名绑定为er.example.com,那么er.example.com、er.example.com/user、er.example.com/login等请求均会被转发至边缘函数。在域名绑定区域单击添加域名。
输入域名后,单击确定。

说明NS接入的域名:绑定域名后,系统会自动添加一条DNS记录用来绑定函数。
CNAME接入的域名:绑定域名后,会自动生成一个CNAME值,需手动在当前站点对应的域名解析服务商添加CNAME解析。
添加路由
路由功能允许用户将某些URL映射到函数。当请求与配置的URL匹配时,将由函数处理该请求,否则将继续执行加速回源的ESA流程。如下图所示,当您为
example.com站点配置了example.com/a*的路由规则后,所有与路由规则匹配的路径访问(例如/a、/a1、/a2)都会由函数处理,而其他与路由规则不匹配的路径访问(例如/b、/c、/d)会继续遵循加速回源或缓存的流程。在路由区域单击添加路由。
填写路由名称,在选择站点列表中选择目标站点,例如:
example.com。选择路由模式。
简单模式
填写路由名称,选择目标站点。
选择简单模式,填写路由规则。

自定义模式
填写路由名称,选择目标站点。
选择自定义模式。
在如果请求匹配以下规则...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式的组成。
则执行…边缘函数。

示例1:路由填写
*.example.com/*,表示任何发送到http://www.example.com/或http://example.com/的请求都会被转发到函数。示例2:路由填写
example.com/a*,表示任何发送到http://example.com/a、http://example.com/a1或http://example.com/api的请求会被转发到函数。示例3:路由填写
www.example.com/api/*,表示任何发送到http://www.example.com/api/及其子路径的请求(例如http://www.example.com/api/users或http://www.example.com/api/products/123)都会被转发到函数。
单击确定。
说明如果路由输入的是
*.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的形式都是不允许的。当访问请求和多个路由配置都可以匹配时,将优先匹配更早配置的规则项。



