選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 gRPC 搭配 CloudFront 分佈

焦點模式
使用 gRPC 搭配 CloudFront 分佈 - Amazon CloudFront

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon CloudFront 支援 gRPC,這是建置在 HTTP/2 上的開放原始碼遠端程序呼叫 (RPC) 架構。gRPC 提供雙向串流和二進位通訊協定,可緩衝承載,因此適合需要低延遲通訊的應用程式。

CloudFront 會接收您的 gRPC 請求,並將其直接代理到您的原始伺服器。您可以使用 CloudFront 來代理四種類型的 gRPC 服務:

  • 一元 RPC

  • 伺服器串流 RPC

  • 用戶端串流 RPC

  • 雙向串流 RPC

gRPC 如何在 CloudFront 中運作

若要在 CloudFront 中設定 gRPC,請將提供 gRPC 服務的原始伺服器設定為分佈的原始伺服器。您可以使用同時提供非 gRPC 和 gRPC 服務的原始伺服器。CloudFront 會根據 Content-Type 標頭判斷傳入請求是 gRPC 請求還是 HTTP/HTTPS 請求。如果請求的 Content-Type 標頭值為 application/grpc,則該請求會被視為 gRPC 請求,且 CloudFront 會將請求代理到您的原始伺服器。

注意

若要讓分佈能夠處理 gRPC 請求,請包含 HTTP/2 做為其中一個支援的 HTTP 版本,並允許 HTTP 方法,包括 POST。您的 gRPC 原始端點必須設定為支援 HTTPS,因為 CloudFront 僅支援安全 (HTTPS 型) gRPC 連線。gRPC 僅支援end-to-end HTTPS。如果您使用的是自訂原始伺服器,請確認您的通訊協定設定支援 HTTPS。

若要為您的分佈啟用 gRPC 支援,請完成下列步驟:

  1. 更新分佈的快取行為以允許 HTTP 方法,包括 POST方法。

  2. 選取POST方法後,選取出現的 gRPC 核取方塊。

  3. 指定 HTTP/2 做為其中一個支援的 HTTP 版本。

如需詳細資訊,請參閱下列主題:

由於 gRPC 僅用於無法快取的 API 流量,因此您的快取組態不會影響 gRPC 請求。您可以使用原始伺服器請求政策,將自訂標頭新增至傳送至 gRPC 原始伺服器的 gRPC 請求。您可以搭配 CloudFront 使用 AWS WAF 來管理對 gRPC 分佈的存取、控制機器人,以及保護您的 gRPC 應用程式免受網路入侵攻擊。CloudFront gRPC 支援 CloudFront Functions

除了 HTTPS 狀態之外,您還會收到 gRPC 回應的 grpc-status。如需 grpc-status 可能值的清單,請參閱狀態碼及其在 gRPC 中的使用

備註

gRPC 不支援下列 CloudFront 功能:

  • 持續部署

  • 自訂錯誤回應

  • gRPC 不支援原始伺服器容錯移轉,因為 gRPC 使用 POST 方法。只有當檢視器請求的 HTTP 方法為 GETHEADOPTIONS 時,CloudFront 才會容錯移轉至次要原始伺服器。

  • CloudFront 會直接將 gRPC 請求代理至原始伺服器,並略過 Regional Edge 快取 (REC)。由於 gRPC 會略過 REC,因此 gRPC 不支援 Lambda@EdgeOrigin Shield

  • gRPC 不支援 AWS WAF 請求內文檢查規則。如果您在 Web ACL 上為分佈啟用這些規則,則任何使用 gRPC 的請求都會忽略請求內文檢查規則。所有其他 AWS WAF 規則仍然適用。如需詳細資訊,請參閱AWS WAF 為分佈啟用

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。