ESA的邊緣節點提供Serverless代碼執行環境,只需編寫業務函數代碼並配置觸發規則,無需設定管理員或管理基礎設施,即可在靠近使用者的邊緣節點上實現代碼的Auto Scaling與安全運行,顯著降低營運成本,提升響應速度。
步驟一:建立函數
步驟二:開發並調試函數
根據實際業務需求,修改函數代碼並進行本地調試,完成後將代碼部署至測試環境,持續觀測其運行狀態與效能表現,確保穩定性與功能正確性。
單擊綁定網域名稱,然後選擇代碼頁簽,使用
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的形式都是不允許的。當訪問請求和多個路由配置都可以匹配時,將優先匹配更早配置的規則項。



