HTTP觸發器
更新時間 2024-12-11 14:35:30
最近更新時間: 2024-12-11 14:35:30
分享文章
Http觸發器為函數提供了基于Http協議的訪問方式,主要適用于web服務、API暴露等場景,同時也提供了豐富的配置已滿足各種訪問形式。
使用限制
- 根據相關規章制度,Http觸發器的域名需要您提供,需要提前創建自定義域名,詳情請查看配置自定義域名。
- 函數計算會基于您提供的自定義域名創建子域名作為函數訪問端點url,因此也需要您給子域名配置CNAME記錄。
- 一個函數的一個版本或別名下,只能創建一個Http觸發器。
- 通過內網URL訪問函數時,需要提前創建vpce,服務選擇函數計算,操作詳情請查看配置終端節點。
操作步驟
- 登錄,點擊目標函數,進入函數詳情。
- 選擇詳情下頂部的配置選項卡。
- 在配置選項卡中,選擇左邊的觸發器選項卡。
- 點擊創建觸發器,在彈出的右抽屜中選擇Http觸發器,配置參數解釋如下表。
| 參數 | 操作 | 示例 |
|---|---|---|
| 觸發器類型 | 選擇Http觸發器。 | Http觸發器 |
| 名稱 | 填寫自定義的觸發器名稱。 | xxx |
| 版本或別名 | 默認值為LATEST,支持選擇任意函數版本或函數別名。 | LATEST |
| 請求方法 | 觸發器支持的Http請求方法選擇,可多選,不填則默認支持全部方法。 | - |
| 禁用公網訪問URL | 觸發器是否啟用公網訪問的URL。 | - |
| 內網 | 選擇已創建的自定義域名,并確保該域名已經配置CNAME記錄,記錄值每個地域的內外網不同,具體留意頁面提示。適用于內網環境訪問,需要提前創建vpce。 | - |
| 公網 | 選擇已創建的自定義域名,并確保該域名已經配置CNAME記錄,記錄值每個地域的內外網不同,具體留意頁面提示。適用于公網環境訪問。 | - |
| 認證方式 | 無需認證:請求沒有認證限制,任何人都能訪問。 JWT認證:請求啟用JWT認證,訪問時需要帶上jwt,函數網關會自動校驗請求的合法性。 |
- |
JWT配置指南
1. 生成JWKS
jwt鑒權需要用戶提供有效的JWKS(JSON Web Key Set)。您可以使用在線生成工具生成,例如。下文以使用mkjwk.org工具生成JWKS為例說明。
按圖所示選擇Key Use,Algorihm,Show X.509,點擊Generate生成需要的公私鑰和jwks。
2. 把public key填入jwks的keys字段里
3.使用//jwt.io/ 生成請求用的jwt,如圖所示
- 算法選擇RS256。
- playload根據需要配置,但必須有iss字段,值為觸發器名稱。
- 公私鑰內容根據第1步里生成的填寫即可。
- 左側生成的“xxx.xxx.xxx”即為合法簽名后的jwt內容。
4. 配置JWT Token(必填)
在JWT Token 配置配置項中,選擇 token所在位置和 token的名稱。
token位置支持Header、Cookie、Query參數(GET)。如果 token位置選擇為Header,則還需為其指定前綴,函數計算在獲取Token時,會刪除此前綴。
5. 配置JWT Claim轉換(可選)
在JWT Claim 轉換配置項中,選擇透傳給函數的參數所在位置、參數原始名稱和參數透傳給函數之后的名稱。注意,這里的claim的名稱指的是jwt的payload里的key。
映射參數位置只支持Header,以下配置的意思是:從jwt的payload中查找MyHeader字段,并把MyHeader的具體值用新的header,這里是HewHeader,透傳給目標函數。目標函數收到的請求的header中就會包含一個新的,key為NewHeader的header。
6. 請求匹配模式
匹配全部:所有 HTTP 請求都會被校驗。
白名單模式:配置的path不執行jwt校驗,path支持通配符,但只能出現在末尾,例如 /user 或 /user/*。
黑名單模式:配置的path才執行jwt校驗,path支持通配符,但只能出現在末尾,例如 /user 或 /user/*。