本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 函數在邊緣自訂
透過 Amazon CloudFront,您可以編寫自己的程式碼,自訂 CloudFront 分發處理HTTP請求和回應的方式。程式碼會靠近檢視器 (使用者) 執行,以將延遲降至最低,而且您不必管理伺服器或其他基礎設施。您可以編寫程式碼來操作流經 的請求和回應 CloudFront、執行基本身分驗證和授權、在邊緣產生HTTP回應等。
您寫入並連接至 CloudFront 分佈的程式碼稱為邊緣函數 。 CloudFront 提供兩種寫入和管理邊緣函數的方法:
- CloudFront 函數
-
您可以在 中寫入輕量型函數, JavaScript 以進行大規模、延遲敏感的CDN自訂。 CloudFront Functions 執行期環境提供低於毫秒的啟動時間、立即擴展以處理每秒數百萬個請求,而且非常安全。 CloudFront Functions 是 的原生功能 CloudFront,這表示您可以完全在 內建置、測試和部署程式碼 CloudFront。
- Lambda@Edge
-
Lambda@Edge 是 的延伸AWS Lambda
,為複雜的函數和更接近觀眾的完整應用程式邏輯提供強大且靈活的運算,而且非常安全。Lambda@Edge 函數在 Node.js 或 Python 執行階段環境中執行。您可以將它們發佈到單一 AWS 區域,但當您將函數與 CloudFront 分佈建立關聯時,Lambda@Edge 會自動在世界各地複寫程式碼。
如果您在 AWS WAF 上執行 CloudFront,則可以對 CloudFront 函數和 Lambda@Edge 使用 AWS WAF 插入的標頭。這適用於檢視器和原始伺服器請求和回應。