近日,Cloudflare 官方宣布开启对 gRPC 的支持,目前正处于 beta 阶段。
2015 年,谷歌推出 gRPC,这是一款高性能且通用的开源 RPC 框架,基于 HTTP/2 标准设计。但是,Cloudflare 称,正是因为 gRPC 采用了 HTTP/2 这样较新的技术,现有的安全性和性能 工具 难以支持 gRPC 通信。
通常大多数反向代理解决方案都会将 HTTP 请求降级为 HTTP/1.1,然后再发送给原始服务器。gRPC 在大大提高效率的同时,其 HTTP/2 传输机制却给部分用户带来暴露风险。
Cloudflare 举例,假设你是一个拥有上万用户的移动应用开发者,在用户基数如此大的情况下,比起 JSON-REST 等较旧且效率较低的协议来说,gRPC 显然是更好的选择。但与此同时,暴露在互联网上的端点也很可怕。目前为止,几乎没有用于通过 WAF 保护 gRPC 端点免受应用程序层攻击,以及利用 DDoS 缓解工具防止攻击的选项。
”这意味着采用 gRPC 为其 API 提供支持的用户必须在现代性或是安全性和可靠性之间进行选择“。于是 Cloudflare 决定着手解决此问题,引入对 gRPC 的支持,以保护和改善在网络上运行 gRPC API 的体验。
根据 Cloudflare 的计划,在添加 gRPC 支持后,WAF 用于检查传入的 gRPC 请求,用户可使用托管规则或制定自己的规则;可配置多个 gRPC 后端以处理负载,让 Cloudflare 在它们之间分配负载;还有一些其他措施。从而提高使用 gRPC 时的安全性和可靠性。
Cloudflare 为添加 gRPC 支持所做的工作主要包括:
- 对请求处理管道进行更改,以识别来自网络的 gRPC 通信。
- WAF 中的功能可识别 gRPC 流量,确保在 WAF 中正确处理 gRPC 连接,包括检查初始 gRPC 连接请求的所有组件。
- 添加支持以建立与 gRPC 流量的客户来源的 HTTP/2 连接,从而可以通过 Cloudflare 的边缘代理 gRPC。目前, HTTP/2 到源的支持仅限于 gRPC 流量,Cloudflare 希望尽快扩大通过 HTTP/2 代理回源的流量范围。
在 Cloudflare 的前期工作完成后,用户仅需仪表板中的一个按钮即可启用对 gRPC 的支持。Cloudflare 表示,将在接下来的数周内陆续开放试用名额。
猜你喜欢: