您好,登錄后才能下訂單哦!
摘要: 綁定自定義域名可以允許用戶通過自定義域名訪問 FC 的函數(shù),配合 HTTP 觸發(fā)器使用,為使用函數(shù)計(jì)算搭建 Web 應(yīng)用提供便利。
簡介
阿里云 函數(shù)計(jì)算(Function Compute) 是事件驅(qū)動的全托管計(jì)算服務(wù),是阿里云的 Serverless 計(jì)算平臺。基于函數(shù)計(jì)算構(gòu)建應(yīng)用,您無需管理服務(wù)器等基礎(chǔ)設(shè)施,而是專注于應(yīng)用邏輯的開發(fā),大幅提高開發(fā)效率。
文章 函數(shù)計(jì)算搭建 Serverless Web 應(yīng)用(一)- HTTP 觸發(fā)器 中闡述了 Web 應(yīng)用(Serverless web backend) 是函數(shù)計(jì)算很重要的一個使用場景。相比于傳統(tǒng)的在服務(wù)器上搭建 web 應(yīng)用,函數(shù)計(jì)算無需您管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳,函數(shù)計(jì)算會為您準(zhǔn)備好計(jì)算資源,以 彈性、 可靠 的方式運(yùn)行您的代碼,實(shí)現(xiàn)毫秒級別彈性伸縮,輕松應(yīng)對峰值壓力。
HTTP 觸發(fā)器為用戶提供一個形如 <account_id>.<region>.fc.aliyuncs.com/<version>/proxy/<serviceName>/<functionName>/[action?queries] 的默認(rèn)的 endpoint,但是用戶希望可以通過自定義域名對外提供服務(wù),原有的 Web 應(yīng)用可以通過自定義域名進(jìn)行訪問,遷移到函數(shù)計(jì)算后,只能通過默認(rèn) endpoint 訪問,實(shí)在強(qiáng)人所難。
因此函數(shù)計(jì)算在 HTTP 觸發(fā)器后推出自定義域名的功能。
自定義域名
綁定自定義域名可以允許用戶通過自定義域名訪問 FC 的函數(shù),配合 HTTP 觸發(fā)器使用,為使用函數(shù)計(jì)算搭建 Web 應(yīng)用提供便利。
您可以在函數(shù)計(jì)算上綁定自定義域名,并設(shè)置不同路徑到不同服務(wù)的不同函數(shù),然后就可以通過自定義域名訪問不同的函數(shù)了,您的 HTTP Request 會原封不動地傳遞給函數(shù),F(xiàn)C 不會對您的 HTTP Request 進(jìn)行任何處理。
例如,您擁有一個域名為 api.app.com 的網(wǎng)站,從成本和彈性擴(kuò)容角度考慮,您希望將 Web 服務(wù)遷移至函數(shù)計(jì)算,并且不影響外部服務(wù),也就是對外提供服務(wù)的鏈接不變,那么您可以為您的應(yīng)用綁定自定義域名。
流程對比:
使用流程
創(chuàng)建 HTTP 觸發(fā)器并且編寫函數(shù) ;
搭建過程請參考 HTTP 觸發(fā)器示例。
綁定自定義域名
步驟一: 域名需要在阿里云備案或接入阿里云備案;
備案請參考文章 阿里云備案 。
步驟二:域名需要解析到您的 endpoint 上,即需要設(shè)置域名的 CNAME 到您對應(yīng)區(qū)域的 endpoint,先設(shè)置 CNAME 再到函數(shù)計(jì)算進(jìn)行綁定;
域名解析請參考文章 設(shè)置域名解析;
例如:您的域名為 app.com,您的 accountID 為 12345,區(qū)域?yàn)樯虾?,需要設(shè)置 app.com 的 CNAME 為 12345.cn-shanghai.fc.aliyuncs.com。
步驟三:在函數(shù)計(jì)算綁定自定義域名,并設(shè)置不同的路徑到不同函數(shù)。
同一域名綁定的函數(shù)必須在同一區(qū)域,可以屬于不同服務(wù);
例如,您可以設(shè)置路徑 “/a” 的請求到 service1 的 function1 執(zhí)行,設(shè)置路徑 “/b” 的請求到 service2 的 function2 執(zhí)行;
只有設(shè)置了 HTTP 觸發(fā)器 的函數(shù)才可以通過自定義域名的請求觸發(fā)執(zhí)行。
路由匹配規(guī)則
您需要在自定義域名處設(shè)置路徑和函數(shù)的對應(yīng)關(guān)系,即請求的路徑不同可以觸發(fā)不同函數(shù)執(zhí)行。函數(shù)計(jì)算支持精確匹配和模糊匹配,具體規(guī)則如下:
支持精確匹配和模糊匹配。
精確匹配是設(shè)置的路徑和到來的請求完全一致才可以匹配,例如 /a 觸發(fā)服務(wù) s1 下的 f1(以下統(tǒng)一簡寫成 s1/f1),那么路徑為 /a/ 的請求無法觸發(fā) f1 的執(zhí)行。
支持通配符 ,且只能放到路徑的最后,比如 /login/ 表示路徑前綴為 /login/ 的請求,/login/* 對應(yīng) s2/f2,那么 /login/a、/login/b/c/d 都會觸發(fā) f2 的執(zhí)行。
匹配順序?yàn)椋壕_匹配 -> 模糊匹配
匹配優(yōu)先級為:最長前綴匹配
示例:
域名為 api.app.com,設(shè)置的路由匹配規(guī)則如下:
最終的匹配結(jié)果:
總結(jié)
綁定自定義域名可以允許用戶通過自定義域名訪問 FC 的函數(shù),配合 HTTP 觸發(fā)器使用,可以快速搭建性能穩(wěn)定彈性可擴(kuò)容的 Web 應(yīng)用,可以說是十分方便了。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。