Tag: docker grpc

与gRPC Trafik和让我们encryption?

我遵循Traefik指南来设置Let's Encrypt和Docker ,现在my-domain.com正确地接受HTTPS,后面跟着一个静态网站。 接下来,我想在my-grpc-server.my-domain.com上运行一个在my-grpc-server.my-domain.com后面运行的gRPC服务器。 查看Traefik与Traefik使用gRPC的Traefik文档,我看到说明是使用自签名证书。 我如何利用已经拥有Let's Encrypt的有效证书的事实? 在我的grpc-server Docker容器中grpc-server一个解决scheme…我可以安装Traefik写的acme.json文件,从该文件读取密钥,并使用它们初始化gRPC服务器。 这需要一些咕噜的工作,这很好,但即使如此,似乎我可能仍然需要一个不同的traefik.tomlconfiguration来说明Traefik和我的grpc-server Docker容器之间的stream量需要SSL的事实。 更新:到目前为止,我一直在尝试没有成功。 为了简单起见,我手动导出了用于testing的极速密钥,以便让Let's Encrypt的东西不在图片中。 这里的gRPC客户端错误: grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.CANCELLED, Received http2 header with status: 500)> 和Traefik错误: level=warning msg="Error forwarding to https://172.18.0.2:443, err: stream error: stream ID 1; INTERNAL_ERROR" 奇怪的是,当我连接到gRPC客户端时,gRPC服务器上没有消息。 但是,当我在Web浏览器中打my-grpc-server.my-server.com时,在my-grpc-server.my-server.com中出现同样的错误,并在gRPC服务器上出现一个额外的错误: E1112 21:06:37.480636928 8 http_server_filter.c:236] GET request without QUERY我现在想知道为什么stream量在Web浏览器的情况下转发,而不是gRPC客户端的情况下。

在docker集装箱grpc客户端收到既不响应也不状态

在我的项目中,我在Docker容器中的两个微服务之间有一个grpc通信。 当客户端是本地的,服务器在一个容器中时,客户端向服务器发出一个请求并接收一个响应。 当我把客户端放在一个容器内而服务器放在另一个容器内时,客户端发出一个请求,既没有收到响应,也没有收到状态。 这是我的客户: class RoomClient: def __init__(self, host='', port=50051): conn_str = '{}:{}'.format(host, port) self.channel = grpc.insecure_channel(conn_str) self.stub = booking_pb2_grpc.BookingStub(self.channel) # Login call this method def rpc_run_get_all(self, request): number = booking_pb2.AddRequest(value=request) response = self.stub.sendAll(number) return response 我的服务器: class BookingServicer(booking_pb2_grpc.BookingServicer): def sendAll(self, request, context): response = booking_pb2.AddReply() #response.value = send_all(request.value) print ("chegou") response.value = str(json_util.dumps({'response': "hello"})) […]