我有一个节点服务器(Meteor.js),它应该使用websockets与另一台服务器通信。 由于通信是在不涉及直接用户的服务器之间进行的,因此我选择使用自签名证书。
从节点服务器(客户端到另一台服务器)添加证书参数的位置
var soc = new WebSocket("wss://localhost:9000")
我已经测试了在不安全模式下与认证的连接,它运行正常。
var soc = new WebSocket("ws://localhost:9000")
将证书添加到应用程序后,在安全模式下从Android应用程序连接也可以正常工作。
答案 0 :(得分:0)
我找到了这个解决方案,允许客户端连接到带有自签名证书的安全套接字的部分是:
" rejectUnauthorized:false"
它接受所有证书,但仍然保持连接加密。
'use strict';
var WebSocket = require('ws');
var soc = new WebSocket("wss://localhost:9000", {
protocolVersion: 8,
origin: 'https://localhost:9000',
rejectUnauthorized: false
});
console.log("launched");
soc.onopen = function (event) {
console.log("Sending message");
soc.send('{}');
};
soc.onmessage = function (event) {
console.log(event.data);
}
soc.on('error', function(event) {
console.log(event);
});