我正在学习rpc&grpc,现在走了,我对grpc感到困惑。
当我在GitHub(https://github.com/grpc/grpc-go/tree/master/examples)上学习示例时,遇到了一些问题。在服务器中,我使用address = "ip:50051"
代替address = ":50051"
(ip是我的Intranet 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时,可以在服务器和客户端中使用我的Intranet IP,就可以了。
所以我想知道为什么在grpc中这是错误的?
答案 0 :(得分:0)
客户端似乎无法进行代理(无法进行HTTP Connect握手)。
如果您的系统中启用了代理(设置了代理环境变量HTTP_PROXY
或HTTPS_PROXY
),请确保代理有效。
如果不需要代理,请清除环境变量,然后重试。