首页 > 解决方案 > 尝试从 UI 工具或代理工具连接到 gRPC 端点时出错

问题描述

我正在使用 .NetCore 测试 gRPC 并查找 GUI 工具或可以帮助我测试端点的东西,例如测试 REST API。我找到了一个代理工具: grpc-json-proxy,可以与 Postman 工具一起使用(还找到了另一个 GUI 工具:grpcox)。
尝试连接到端点时,使用任何工具都会出现如下错误:

无法请求 err=[Post http://localhost:5001/greet.Greeter/SayHello: dial tcp 127.0.0.1:5001: connect: connection denied]

知道可能是什么问题吗?

标签: .net-coregrpc

解决方案


最重要的是,您确信 gRPC 服务器正在侦听localhost:50051吗?您可以使用以下命令确认这一点(在 Linux 上):

GRPC="50051"
ss --tcp --listening --processes "sport = :${GRPC}"

注意您可能需要sudo ss ...获取该过程

或者更简单地说:

telnet localhost 50051

如果你得到Connected to...这是一个好兆头

然后,如果您通过 docker 使用这些工具中的任何一个,则需要确保容器可以访问主机的50051端口。为此,请运行容器使用--net=host. 这将使主机的端口对容器可用。

我用grpCurl


推荐阅读