0
我有GRPC服务器使用OpenSSL的运行 - 静态的方式,我试图用的NodeJS客户节点JS客户端GRPC服务器
我没有看到任何错误连接到服务器,但我看不到它的连接到服务器或者。 如果您有任何样品,请分享。下面
请参考代码:
var rootCertPath = path.join('.','.', 'server-root.PEM');
var privateCertPath = path.join('.','.', 'server-private.PEM');
var domainCertPath = path.join('.','.', 'server-domain.PEM');
var rootCert = fs.readFileSync(rootCertPath);
var privateCert = fs.readFileSync(privateCertPath);
var domainCert = fs.readFileSync(domainCertPath);
var buf1 = new Buffer('rootCert');
var buf2 = new Buffer('privateCert');
var buf3 = new Buffer('domainCert');
var chat_proto = grpc.load("Chat.proto").com.company.grpc;
var client = new chat_proto.ChatService('https://servervip:443',grpc.credentials.createSsl(buf1,buf2,buf3));
Chat.proto
syntax = "proto3";
// Service definition.
service ChatService {
// Sends a chat
rpc chat(stream ChatMessage) returns (stream ChatMessageFromServer) {}
}
// The request message containing the user's name.
message ChatMessage {
string name = 1;
string message = 2;
}
// The response message containing the greetings
message ChatMessageFromServer {
string name = 1;
string message = 2;
}
//代码,以请求
var username = process.argv[2];
var stdin = process.openStdin();
function main() {
console.log("starting");
console.log(client); // prints { '$channel': Channel {} }
var chat=client.chat();
chat.on('data', function(msg) {
console.log(msg.name + ': ' + msg.message);
console.log("after message");
});
stdin.addListener('data',function(input) {
chat.write({ name: username, message: input.toString().trim()
});
});
}
main();
您能否包含您用于实际提出请求的代码?你是否看到任何具体的错误?除此之外,您不应该在客户端使用服务器的私钥和证书链数据。您只需要root证书,如果您想要执行基于TLS的客户端身份验证,则客户端应该拥有自己的ckey。 – murgatroid99
添加在原岗位的建议的详细信息 - 请参阅下面的章节 //代码,以请求 //Chat.proto 我试过根证书唯一方法还是一样的行为 我没有任何要求现在来验证客户端 – Nitin
>>创建客户端场景1:var client = new chat_proto.ChatService('https:// servervip:443',creds); 没有错误,但没有回应 >>创建客户端场景2时出错:var client = new chat_proto.ChatService('servervip',creds); E0519 11312 ssl_transport_security.c:601]无法加载任何根证书。 E0519 11312 ssl_transport_security.c:1315]无法加载服务器根证书。 E0519 11312 security_connector.c:837]握手工厂创建失败,TSI_INVALID_ARGUMENT。 E0519 11312 secure_channel_create.c:127]无法为安全名称'servervip'创建安全子通道 – Nitin