1

我正在使用通过 HTTPS 和自签名证书托管的 GRPC 服务。当我使用如下语法连接时:

const client = new productService('https://grpc-server-xxx.com:9090',
grpc.credentials.createInsecure())

我收到这样的错误

{ Error: 14 UNAVAILABLE: DNS resolution failed
at Object.exports.createStatusError (C:\grpc\node_modules\grpc\src\common.js:91:15)
at Object.onReceiveStatus (C:\grpc\node_modules\grpc\src\client_interceptors.js:1209:28)
at InterceptingListener._callNext (C:\grpc\node_modules\grpc\src\client_interceptors.js:568:42)
at InterceptingListener.onReceiveStatus (C:\grpc\node_modules\grpc\src\client_interceptors.js:618:8) at callback (C:\grpc\node_modules\grpc\src\client_interceptors.js:847:24)code: 14,metadata: Metadata { _internal_repr: {}, flags: 0 },details: 'DNS resolution failed'

任何人都可以帮助我如何解决这个问题。

注意:我的操作系统是 Windows 10,nodejs -- v10.16.0,GRPC

4

2 回答 2

6

gRPC 库无法识别https://地址方案,因此目标名称将导致它尝试解析错误的名称。您应该改用grpc-server-xxx.com:9090ordns:grpc-server-xxx.com:9090dns:///grpc-server-xxx.com:9090。有关 gRPC 如何解释通道目标名称的更多详细信息,请参阅此文档页面

于 2020-06-01T16:17:22.940 回答
0

菜鸟的错误,但我做到了。确保您的 IP 地址是0.0.0.0:9090而不是0.0.0.0.9090

于 2021-08-23T11:28:26.593 回答