【发布时间】:2021-10-03 16:19:15
【问题描述】:
我正在尝试在 ruby 客户端和 ruby 服务器之间实现安全的 gRPC TLS 连接。我无法弄清楚如何配置服务器以使用安全连接。
在生产环境中,我们的服务器是用 Go 实现的。但是,除了不安全的连接之外,我们无法从 ruby 连接到它。我的任务是创建一个参考 TLS 连接以显示来自 ruby 客户端的安全连接将起作用。
我有 grpc 快速入门示例欢迎程序为 ruby 工作,作为不安全的连接。
在gRPC authentication documentation 中,Go 示例替换了这个
s := grpc.NewServer()
有了这个
creds, _ := credentials.NewServerTLSFromFile(certFile, keyFile)
s := grpc.NewServer(grpc.Creds(creds))
对于 ruby,快速入门欢迎应用程序中有这个
s = GRPC::RpcServer.new
但我一直找不到如何创建安全服务器。
要求包括我们必须让服务器验证客户端的公钥是否可信,才能允许访问服务器。 (客户端还需要信任服务器的公钥来验证服务器。)
【问题讨论】:
-
我没有使用过带有 gRPC 的 Ruby,但我熟悉 Golang SDK。请参阅此处了解带有 TLS 的 Ruby gRPC 服务器:developers.google.com/maps-booking/legacy/…
-
你的问题有点不清楚。让 Ruby 客户端与 Golang 服务器一起工作对您很有用,这样您就知道您的证书以及客户端和服务器正在工作。
-
@DazWilkin 是的,但现在 ruby 更易于访问和熟悉,所以我正试图让这一步工作。我正在与之合作的团队说他们希望看到 ruby 客户端现在对任何东西使用 TLS gRPC 调用。
-
@DazWilkin 这似乎是一个答案。如果您将您的评论作为答案,我会接受并给您声誉积分。