注意:它正在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的原始设置中从网关运行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已经破损。
答案 0 :(得分:1)
在服务器代码中,您没有监听端口443,因此很可能是您的示例无法正常工作的原因。
如果您想继续使用http而不是https,那么您的代码就可以正常工作。
如果要使其与TLS一起使用,this overview是一个很好的选择。
要使端口80重定向到端口443(如果您使用https,我强烈建议您使用它),请参阅this SO post。