首页
学习
活动
专区
圈层
工具
发布

Akka-CQRS(10)- gRPC on SSLTLS 安全连接

使用gRPC作为云平台和移动前端的连接方式,网络安全应该是必须考虑的一个重点。gRPC是支持ssl/tls安全通讯机制的。用了一个周末来研究具体使用方法,实际上是一个周末的挖坑填坑过程。...gRPC的ssl/tls的原理是在服务端安装安全证书公用certificate和私钥key, 在客户端安装公共证书就可以了,gRPC代码是这样写的: // Server SslContext sslContext...不过客户端在使用了证书后仍然无法连接到服务端。没办法,又要再去查资料了。看来现在应该是证书的问题了。先看看是不是因为使用的证书是自签的self-signed-certificate。...grpc-java里提供了一些测试用的证书和私钥和说明文档。...这次起码证明grpc ssl/tls是可以发挥作用的。

1.6K40

gRPC 长连接在微服务业务系统中的实践

本文就从 gRPC 长连接的视角, 为你揭开这层面纱。...在图一和图二中可以看到, 虽然连接的持续时间不同, 但他们的行为类似, 都是完成了一次数据交互后便断开了连接, 如果有更多的请求要发送, 就需要重新建立连接。这种行为模式被称为短连接。...好在这种场景中, 连接的利用率和复用率往往不高,使用简单且易于管理的短连接是更好的选择。即使用长连接, 也必须设置一个合理的超时机制, 如在空闲时间过长时断开连接, 释放 server 资源。 2....具体实践中, Envoy 会选择建立多个连接的方式来提高可用性。如下面的图示中: 绿色的连接表示由 Envoy 管理的连接。...结合 Biz-UI 的业务系统, 分析了 Istio 平台中 gRPC 连接的管理方式和长连接基于 Go 语言的实现, 并通过性能测试展示了长连接带来的响应时间和吞吐量上的提升, 为 gRPC 框架中使用长连接提供了有力的理论依据和数据支持

4.4K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    gRPC安全审计结果(pdf)

    Inführ 介绍 “gRPC是一个现代的开源高性能RPC框架,可以在任何环境中运行。它可以有效地连接数据中心内和跨数据中心的服务,并支持可插拔的负载平衡、跟踪、健康检查和身份验证。...它也适用于分布式计算的最后一英里,将设备、移动应用程序和浏览器连接到后端服务。” - https://grpc.io/about/ 本报告记录了针对gRPC软件的安全评估的结果。...在评估过程中,Cure53通过共同使用的Slack渠道与谷歌团队进行交流,实现了实时交流。为了提高时间效率,将发现结果实时报告给gRPC团队,以便相关各方可以讨论修复问题。...最后,报告将以结论结束,Cure53小组详细阐述了评估期间收集的印象。关于所测试的gRPC软件的安全性的广泛和更详细的建议接踵而至。...下载 这里下载gRPC安全审计结果(pdf): https://github.com/grpc/grpc/blob/master/doc/grpc_security_audit.pdf

    1.5K20

    nginx使用长连接代理grpc流量

    nginx使用长连接代理grpc流量TOCNginx在1.13.10版本支持了对grpc流量的反向代理,恰好业务有需求,要在sidecar容器中代理grpc流量。因此参考指引文档进行了配置。...\_pass grpc://localhost:8500; } }}如上为官方实例中的转发配置,配置并重启nginx后,简单调用时没有遇到问题。...图片图片分析HTTP2协议得知Stream即http2的一个请求,多个stream复用会同一个TCP连接,由此猜测应该是在压测的过程中,TCP连接发生了中断,因此进入nginx容器内部查看通过netstat...pass grpc://grpc\_server; } }}按照上述配置配置对应的keepalive参数后,可以看到TCP连接数大大下降,同时TIME_WAIT也大量减少,但是在压测过程中中...图片搜索相关资料无果后,想到网关侧的nginx-ingress-gateway并未出现类似问题,于是查看了nginx-ingress中的nginx默认配置 ,在对比连接保持相关的参数后,注意到了 reset_timedout_connection

    4.3K103

    gRPC在C#中的未来属于grpc-dotnet

    最初的 gRPC C#实现(Grpc.Core nuget 包)将进入维护模式,不会得到任何新功能,只会收到重要的错误修复和安全修复。最终的计划是在未来的某个时候逐步完全淘汰 Grpc.Core。...它更符合 C#/.NET 社区现在和未来的发展方向。与社区的发展方向保持一致似乎是 C#中 gRPC 未来的最佳选择。...重要的错误和安全问题将继续以正常的方式解决。 我们将正常发布 Grpc.Core 版本,以通常的 6 周节奏发布。...Grpc.Core nuget 包将继续在 nuget.org 仓库中可用,但不会提供更多的修复(=甚至没有安全修复)。...因为 Grpc.Core 是客户端库的组成部分,Grpc.Core 的安全和 bug 修复将继续在谷歌云客户端库提供。

    2.5K40

    Go 中的 gRPC 入门详解

    = nil { log.Fatal("连接 gPRC 服务失败,", err) } defer conn.Close() // 创建 gRPC 客户端 grpcClient := NewTesterClient...一个 message 中,每个字段都有唯一的编号,这些数字用于标识二进制格式的字段(数据传输时会被压缩等),当编号范围是 1-15 时,存储编号需要一个字节,也就是说 message 中的字段尽量不超过...由于 gRPC 需要考虑兼容 C 语言、C#、Java、Go 语言等,所以 gRPC 中的类型不等同于编程语言中的相关类型。...这些类型都是 gRPC 中定义的,并且如果要转换为编程语言中的类型,需要一些转换机制,而这有时会十分麻烦。 字段规则 每个字段都可以指定一个规则,在定义字段类型的开头使用规则标识。...指明该 .proto 的名称; import 关键字可以在当前 .proto 中引入其它 .proto 文件,gRPC 基本数据类型中不包含时间格式,可以引入 timestamp.proto。

    3.4K20

    gRPC 安全性:保障数据安全传输的全面保护

    gRPC 的安全需求 在现代网络环境中,数据的安全性至关重要。特别是在分布式系统和微服务架构中,需要确保数据的机密性、完整性和身份认证,以防止数据被窃听、篡改或伪造。...gRPC 默认支持 TLS/SSL 加密,通过在客户端和服务器之间建立安全连接,确保数据在传输过程中是加密的。这样,即使数据被截获,也无法读取其中的内容。 2....通过在服务器的配置中指定证书和密钥的路径,以及启用 TLS 设置,来确保服务器建立安全连接。 配置 gRPC 客户端:在 gRPC 客户端,也需要配置证书和私钥,以便与服务器建立安全连接。...总结 gRPC 提供了多种安全功能,以确保通信过程中的数据安全和身份认证。通过使用 TLS/SSL 加密、双向认证和自定义认证,您可以在分布式系统和微服务架构中实现安全的数据传输。...配置 gRPC 的安全性需要生成证书和密钥,并在服务器和客户端配置中启用相应的安全设置。 实施数据安全传输是确保网络通信安全的重要一环,也是保护用户隐私和数据完整性的关键步骤。

    1.5K10

    gRPC在Spring Cloud中的应用

    1、前言 在微服务开发中,服务间的调用一般有两种方式:Feign、RestTemplate,但在实际使用过程中,尤其是Feign,存在各种限制及局限性,如:HTTP请求方式、返回类型等限制,有时会让你觉得那那都别扭...本文主要就gRPC在Spring Cloud项目中的使用进行说明实战。 关于gRPC相关基础知识可以参考上一篇文章gRPC的使用。...2、gRPC在Spring Cloud中的使用 看过上一篇文章gRPC的使用的话,你就清楚如果直接使用gRPC,显得有些吃力,因此借助一些开源的框架变得尤为必要。...2.1 特点 使用@ GrpcService自动创建并运行一个 gRPC 服务,内嵌在 spring-boot 应用中 使用@ GrpcClient自动创建和管理你的客户端 支持Spring Cloud...(编译过程中可能会报错,此时可以忽略) ?

    6.3K42

    .NET 6 中 gRPC 的新功能

    gRPC是一个现代的、跨平台的、高性能的 RPC 框架。gRPC for .NET 构建在 ASP.NET Core 之上,是我们推荐的在 .NET 中构建 RPC 服务的方法。...•load balancer 负载均衡器, 当调用 gRPC 的时候, 它会根据配置的负载均衡的策略, 返回响应的服务地址, 并创建连接。...瞬时故障的处理和重试 gRPC 调用过程中可能会遇到瞬时故障而中断,瞬时故障包括: •网络连接暂时中断。•服务暂时不可用。•服务器响应超时。...这已在 dotnet/runtime#54755[5] 中修复。HttpClient 现在动态缩放接收缓冲区窗口。建立 HTTP/2 连接后,客户端将向服务器发送 ping 以测量延迟。...我们期待听到有关使用 gRPC 和 .NET 构建的应用程序以及您未来在dotnet和grpc 存储库中的贡献!

    1.3K10

    从gRPC安全设计理解双向证书方案

    序言 安全需求 安全方案 敏感数据加密传输 认证 鉴权 数据完整性和一致性 证书的基本原理 单向证书 双向证书 gRPC安全机制 SSL/TLS认证 GoogleOAuth2.0 自定义安全认证策略 序言...SSL/TLS的通道加密 当存在跨网络边界的 RPC 调用时,往往需要通过 TLS/SSL 对传输通道进行加密,以防止请求和响应消息中的敏感数据泄漏。...工作原理如下: RPC 客户端和服务端通过 HTTPS 与注册中心连接,做双向认证,以保证客户端和服务端与注册中心之间的安全; 服务端生成 Token 并注册到注册中心,由注册中心下发给订阅者。...gRPC安全机制 谷歌提供了可扩展的安全认证机制,以满足不同业务场景需求,它提供的授权机制主要有四类: 通道凭证:默认提供了基于 HTTP/2 的 TLS,对客户端和服务端交换的所有数据进行加密传输;...自定义安全认证策略 参考 Google 内置的 Credentials 实现类,实现自定义的 Credentials,可以扩展 gRPC 的鉴权策略。

    3K30

    如何在 Nginx 中配置 gRPC 的代理

    Nginx 在 1.13.10 中,新增了对gRPC的原生支持,Nginx 1.14.0 主线版已经发布。本文将介绍,如何配置 Nginx 中的 gRPC 服务。...gRPC必须使用 HTTP/2 传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接的多路复用和流式特性。所以在安装部署nginx时需要安装http/2。...此示例里nginx以明文的方式在80端口发布gRPC,其中代理的gRPC在后端也是以明文的方式交互。 注意:Nginx是不支持在明文的端口上同时支持http1和http2的(想一想为什么?)。...代理加密的gRPC 如果Nginx内部代理的gRPC也需要以加密的方式交互,这种情况就需要把明文代理协议grpc://替换为grpcs://。这首先要gRPC服务器是以加密的方式发布服务的。...在grpc_pass指定的gRPC服务器地址使用upstream定义的服务器组。

    18.1K82

    gRPC-Web中的拦截器

    我们很高兴地宣布从1.1.0版开始支持gRPC-web中的拦截器(interceptor)。...虽然当前的设计基于其他gRPC语言提供的gRPC客户端拦截器,但它也包括gRPC特定于Web的特性,这些特性应该会使拦截器易于采用,并与现代Web框架一起使用。...拦截器允许你执行以下操作: 在传递原始gRPC请求之前更新它-例如,你可能会注入额外的信息,如auth标头。 操作原始调用程序函数的行为,例如绕过调用,以便你可以改用缓存结果。...Unary拦截器示例 下面给出的代码说明了执行以下操作的unary拦截器: 它在RPC之前为gRPC请求消息添加一个字符串。 收到gRPC响应消息后,它会在消息前面加上一个字符串。...如果你有一般性的问题或意见,请考虑发布到gRPC邮件列表或向我们发送电子邮件至gRPC-web-team@google.com。

    1.9K30
    领券