【问题标题】:504 Gateway Time-out on GRPCGRPC 上的 504 网关超时
【发布时间】:2019-09-30 08:01:45
【问题描述】:

我正在学习rpc&grpc,现在去,我被grpc弄糊涂了。

在学习GitHub(https://github.com/grpc/grpc-go/tree/master/examples)上的例子时,遇到了一些问题。在服务器中,我使用address = "ip:50051" 而不是address = ":50051"(ip 是我的内网IP),在客户端我使用address = "ip:50051" 而不是address= "localhost:50051",然后运行服务器和客户端,在客户端我得到错误:

rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing failed to do connect handshake, response: \"HTTP/1.0 504 Gateway Time-out\\r\\nConnection: close

但是当我在golang中学习rpc的时候,在服务器和客户端使用我的内网ip就可以了。

所以我想知道为什么 grpc 出错了?

【问题讨论】:

  • 试试0.0.0.0:50051,它将在端口 50051 上侦听所有接口,这通常是您想要的
  • @RobbieMilejczak ths,我在服务器中尝试0.0.0.0:50051,但它不行。我在客户端使用myInetIp:50051,也得到与上面相同的错误。

标签: go grpc


【解决方案1】:

客户端似乎无法使用代理(未能进行HTTP Connect 握手)。

如果您在系统中启用了代理(代理环境变量 HTTP_PROXY 或 HTTPS_PROXY 已设置),请确保代理正常工作。

如果您不需要代理,请清除环境变量并重试。

【讨论】:

  • 谢谢你的建议,我换了网络,问题解决了。
猜你喜欢
  • 2013-12-03
  • 1970-01-01
  • 2013-05-20
  • 2011-08-30
  • 2017-04-30
  • 2019-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多