grpc - 由于连接被强制终止,使用 ngrok 测试 gRPC 失败

标签 grpc ngrok

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

我已经关注并从 here 下载了演示代码.

通过 localhost 连接很好,但是通过 ngrok 连接导致我出现以下错误:

Caught error: gRPC Error (2, HTTP/2 error: Connection error: Connection is being forcefully terminated. (errorCode: 10))



这是我在 ~/.ngrok2/ngrok.yml 中用于 ngrok 的隧道配置文件:
tunnels:
  grpc:
    proto: http
    addr: 8080
    bind_tls: true
    region: eu
    inspect: true

这就是我到目前为止所做的:
  • dart bin/server.dart
  • ngrok grpc
  • 编辑 lib/src/client.dart使用 forwarding来自 ngrok 的网址
  • dart bin/client.dart

  • 尽管服务器正在监听 8080,但客户端正在尝试连接到标准端口 443 上的 ngrok url 以获取 https。

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

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

    最佳答案

    原来ngrok http 表现不佳选项。

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

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

    关于grpc - 由于连接被强制终止,使用 ngrok 测试 gRPC 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59554059/

    相关文章:

    java - gRPC-java - .proto 文件的编译

    composer-php - 超越代码公开 |暴露 : command not found error in linux

    python - 使用 flask-ask 和 ngrok 的 Alexa 技能开发

    ubuntu - 将 ngrok 配置为服务 > 权限被拒绝

    node.js - 如何处理流开始后 grpc-node 中发生的网络错误?

    ruby - 如何从 gRPC 服务返回错误?

    c# - 使用 gRPC 共享非常大的文件

    go - 如何正确导入 protobuf 的文件?

    javascript - 将 localtunnel\ngrok 与多个本地站点一起使用

    node.js - 使用 localtunnel 并将生成的 url 传递给 Node 命令