部署在Cloud Run的gRPC服务本地连接失败(Error 14 UNAVAILABLE)求助
解决Cloud Run上gRPC服务的本地连接问题
你遇到的问题是因为Cloud Run的gRPC服务对外暴露规则和本地配置不匹配,调整方式如下:
- 修正连接地址与端口:Cloud Run服务默认通过443端口(HTTPS)对外提供服务,而非gRPC默认的50051端口,同时无需手动添加
dns:前缀。 - 使用安全凭证:Cloud Run要求gRPC连接通过SSL加密,不能使用
createInsecure()创建无安全验证的凭证。
修改后的代码示例:
let client = new customer_proto.Customer("customer-service-random-string-ue.a.run.app:443", grpc.credentials.createSsl());
额外检查项:
- 确认Cloud Run服务已启用HTTP/2支持:gRPC基于HTTP/2协议,部署时需在Cloud Run配置中开启HTTP/2选项。
- 验证服务访问权限:确保服务没有设置私有访问限制,本地可以正常访问该Cloud Run URL。
内容的提问来源于stack exchange,提问作者ololo
相关产品推荐
相关产品推荐

