go - grpc-通过 https : failed rpc error: code = Unavailable desc = transport is closing:

标签 go grpc grpc-go knative-serving knative

注意:这是在 Kubernetes 的容器中运行。

我已经成功完成了这个非常简短的描述:https://knative.dev/docs/serving/samples/grpc-ping-go/

成功:

2019/05/08 13:43:56 Ping got hello - pong
2019/05/08 13:43:56 Got pong 2019-05-08 13:43:57.646935391 +0000 UTC m=+1.661567121

但是,如果我在 https 的 knative 设置上从网关运行 443,它就不起作用:

docker run -ti --entrypoint=/client docker.io/{username}/grpc-ping-go \
  -server_addr="${SERVICE_IP}:443" \
  -server_host_override="${SERVICE_HOST}" \
  -insecure

2019/05/08 13:50:28 &{0xc00012e000}.Ping failed rpc error: code = Unavailable desc = transport is closing: 

client来自示例的代码,以及 server代码。 服务器未监听 tls,但通过 https 连接到服务器。

只是为了确保,我从 simpel hello-go 文本回复中知道 https 已失效。

最佳答案

在您的服务器代码中,您没有监听端口 443,因此这很可能是您的示例无法正常工作的原因。

如果您想继续使用 http 而不是 https,那么您的代码就可以正常工作。

如果你想让它与 TLS 一起工作,this overview 是一个很好的选择。

要让端口 80 重定向到端口 443(如果您使用 https,我强烈推荐它),请参阅 this SO post

关于go - grpc-通过 https : failed rpc error: code = Unavailable desc = transport is closing:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56042511/

相关文章:

c++ - 如何调试 gRPC 服务器崩溃而不出现任何错误?

go - golang 中 server.GracefulStop() 的行为

go - 同时运行 grpc 和 http 服务器

html - Golang 中的计数器 html 标签 map 无法正常工作

go - 返回它自身的接口(interface)(可克隆)

go - Protocol Buffer : Send arbitrary structure over GRPC

go - GRPC 消息结构

string - 为什么我不能按照指定的 Go 引用将字符串附加到字节 slice ?

windows - 在 Windows 上安装 swaggo (swagger + gin)

javascript - 如何在客户端排除导入