Cloudflare は gRPC に対応しており、プロキシされた gRPC エンドポイント 上の API を保護できます。gRPC プロトコルは、ペイロードを小さくして帯域使用量を減らし、レイテンシを下げ、実装を速くする効率的な API の構築に役立ちます。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Availability | Yes | Yes | Yes | Yes |
Argo Smart Routing、WAF、Bot Management などのアドオン製品を経由する gRPC トラフィックには、料金が発生することがあります。
Cloudflare 上で gRPC トラフィックを動かすことは、ほとんどの Cloudflare 製品と互換があります。
ただし、次の製品は gRPC リクエストに対する機能が限られています。
- Cloudflare WAF は、接続フェーズのヘッダー検査だけを実行します。WAF Managed Rules は gRPC ストリームの内容では実行されません。
-
Cloudflare Tunnel は、プライベートサブネットルーティング 経由の gRPC トラフィックに対応しています。パブリックホスト名でのデプロイは、現在サポートしていません。
- Cloudflare Access は、Cloudflare のリバースプロキシ経由で送られる gRPC トラフィックをサポートしません。Cloudflare で gRPC が有効な場合、gRPC トラフィックは Access によって無視されます。Access で保護している機微なオリジンサーバーでは gRPC を無効にするか、オリジンサーバーへの gRPC トラフィックを認証する別の手段を有効にすることを推奨します。
- gRPC エンドポイントはポート 443 で待ち受ける必要があります。
- gRPC エンドポイントは TLS と HTTP/2 をサポートする必要があります。
- HTTP/2 は ALPN で告知する必要があります。
- gRPC リクエストの Content-Type ヘッダーには、
application/grpcまたはapplication/grpc+<message type(例:application/grpc+proto)を使います。 - gRPC エンドポイントをホストするホスト名について、次を確認します。
- プロキシ済み に設定されている
- 少なくとも Full SSL/TLS 暗号化モード を使っている
ダッシュボードで gRPC 設定を変更するには、次の手順を実行します。
- Cloudflare アカウント ↗ にログインし、対象のドメインを開きます。
- Network を開きます。
- gRPC のトグルを On に切り替えます。