gRPC 错误:解决“连接在收到服务器前言之前关闭”
在此问题中,开发人员在尝试执行以下操作时遇到间歇性 gRPC 错误:向部署在 Docker 中的 Dgraph 服务器进行查询。错误“连接在收到服务器序言之前关闭”暗示连接设置存在问题。
错误的根本原因通常在于服务器的 TLS 配置与客户端的连接设置之间不匹配。在这种情况下,如果服务器配置为启用 TLS,但客户端尝试在不使用 TLS 的情况下进行连接,则连接将失败并出现此错误。
要解决此问题,请按照以下步骤在客户端上配置 TLS 选项:
tlsConfig := &tls.Config{ Certificates: []tls.Certificate{myCertificate}, RootCAs: myCAPool, } tlsOpt := grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig)) conn, err := grpc.DialContext(ctx, "<connection_string>", tlsOpt)
确保您在客户端连接上使用客户端证书。一旦这些配置到位,客户端应该能够建立与服务器的安全连接并执行查询,而不会遇到“连接关闭”错误。
以上是为什么我的 gRPC 客户端在连接到 Docker 化的 Dgraph 服务器时收到'连接在收到服务器前言之前已关闭”?的详细内容。更多信息请关注PHP中文网其他相关文章!