独立的nodejs客户端连接到自签名websocket(wss)

时间:2017-05-29 13:17:46

标签: javascript node.js meteor websocket

我有一个节点服务器(Meteor.js),它应该使用websockets与另一台服务器通信。 由于通信是在不涉及直接用户的服务器之间进行的,因此我选择使用自签名证书。

从节点服务器(客户端到另一台服务器)添加证书参数的位置

var soc = new WebSocket("wss://localhost:9000") 

我已经测试了在不安全模式下与认证的连接,它运行正常。

var soc = new WebSocket("ws://localhost:9000")

将证书添加到应用程序后,在安全模式下从Android应用程序连接也可以正常工作。

1 个答案:

答案 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);
});