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

bou*_*iar 0 javascript websocket node.js meteor

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

从节点服务器(这是一个客户端到另一个服务器)在哪里添加证书参数

var soc = new WebSocket("wss://localhost:9000") 
Run Code Online (Sandbox Code Playgroud)

我已经测试过在不安全模式下通过认证进行连接,它工作正常。

var soc = new WebSocket("ws://localhost:9000")
Run Code Online (Sandbox Code Playgroud)

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

bou*_*iar 5

我找到了这个解决方案,允许客户端使用自签名证书连接到安全套接字的部分是:

“拒绝未经授权:假”

它接受所有证书,但仍保持连接加密。

'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);
});
Run Code Online (Sandbox Code Playgroud)