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 托管规则 (WAF Managed Rules) 不会对 gRPC 流的内容进行运行。
Cloudflare Tunnel 通过私有子网路由支持 gRPC 流量。目前不支持公共主机名部署。
- Cloudflare Access 不支持通过 Cloudflare 的反向代理发送的 gRPC 流量。如果 Cloudflare 中启用了 gRPC,Access 将忽略 gRPC 流量。我们建议对任何由 Access 保护的敏感源站服务器禁用 gRPC,或者启用其他手段来对发往您源站服务器的 gRPC 流量进行身份验证。
- 您的 gRPC 端点必须监听 443 端口。
- 您的 gRPC 端点必须支持 TLS 和 HTTP/2。
- 必须通过 ALPN 宣告 HTTP/2。
- gRPC 请求的 Content-Type 标头使用
application/grpc或application/grpc+<message type(例如:application/grpc+proto)。 - 确保托管您 gRPC 端点的主机名:
- 设置为已代理 (proxied)
- 至少使用 Full SSL/TLS 加密模式。
在仪表板中更改 gRPC 设置:
- 登录您的 Cloudflare 账户 ↗并转到特定域名。
- 前往 Network(网络)。
- 找到 gRPC,将开关切换至 On(开启)。