首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ngrok测试gRPC由于连接被强制终止而失败

问使用ngrok测试gRPC由于连接被强制终止而失败
EN

Stack Overflow用户
提问于 2020-01-01 16:14:51
回答 2查看 2.8K关注 0票数 6

我在通过ngrok公开gRPC服务器时遇到了一些问题。

我从这里中跟踪并下载了演示代码。

通过localhost连接是可以的,但是通过ngrok连接会导致以下错误:

捕获错误: gRPC错误(2,HTTP/2错误:连接错误:连接被强制终止。(errorCode: 10)

下面是我在~/.ngrok2/ngrok.yml文件中为ngrok使用的隧道配置:

代码语言:javascript
复制
tunnels:
  grpc:
    proto: http
    addr: 8080
    bind_tls: true
    region: eu
    inspect: true

这就是我到目前为止所做的:

  1. dart bin/server.dart
  2. ngrok grpc
  3. 编辑lib/src/client.dart以使用ngrok中的forwarding url
  4. dart bin/client.dart

虽然服务器正在监听8080,但客户端试图连接到标准端口443上的https的ngrok的url。

我正在考虑使用HTTP2 ( gRPC所依赖的),但是根据这,ngrok应该支持它(我正在运行2.3.35版本)。

我错过了什么或者做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-01 19:48:26

结果发现,ngrok在http选项方面表现不佳。

转到proto:tcp解决了我的问题。

我想这是因为ngrok要求gRPC在选择proto: http时没有提供一些东西!

票数 3
EN

Stack Overflow用户

发布于 2022-06-14 08:29:13

更具体地说

ngrok.yml

代码语言:javascript
复制
tunnels:
  grpc:
    proto: tcp
    addr: 5001
    inspect: false

配置ngrok.yml后,点击终端中的ngrok start grpc

你会得到一个类似于这个tcp://0.tcp.in.ngrok.io:15048的地址

使用0.tcp.in.ngrok.io:15048检查响应。

我使用失眠来检查grpc响应。

如果不想配置ngrok.yml,可以使用./ngrok tcp 5001作为替代选项

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59554059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档