系统:Windows 7
节点版本:0.10.2
WS 模块:ws,最新版本
错误:
事件.js:72
扔呃; // 未处理的“错误”事件
^
错误:UNABLE_TO_VERIFY_LEAF_SIGNATURE
在 SecurePair。 (tls.js:1283:32)
在 SecurePair.EventEmitter.emit(events.js:92:17)
在 SecurePair.maybeInitFinished (tls.js:896:10)
在 CleartextStream.read [as _read] (tls.js:430:15)
在 CleartextStream.Readable.read (_stream_readable.js:294:10)
在 EncryptedStream.write [as _write] (tls.js:344:25)
在 doWrite (_stream_writable.js:211:10)
在 writeOrBuffer (_stream_writable.js:201:5)
在 EncryptedStream.Writable.write (_stream_writable.js:172:11)
写入时 (_stream_readable.js:547:24)
服务器:
(function(){
"use strict";
var fs = require('fs');
// you'll probably load configuration from config
var cfg = {
ssl: true,
port: 8080,
ssl_key: 'crt/server1.key',
ssl_cert: 'crt/server1.crt'
};
var httpServ = require('https')
var WebSocketServer = require('ws').Server;
var app = null;
// dummy request processing
var processRequest = function( req, res ) {
res.writeHead(200);
res.end("All glory to WebSockets!\n");
};
if ( cfg.ssl ) {
app = httpServ.createServer({
// providing server with SSL key/cert
key: fs.readFileSync( cfg.ssl_key ),
cert: fs.readFileSync( cfg.ssl_cert ),
//requestCert: true,
//rejectUnauthorized: false
}, processRequest ).listen( cfg.port );
} else {
app = httpServ.createServer( processRequest ).listen( cfg.port );
}
// passing or reference to web server so WS would knew port and SSL capabilities
var wss = new WebSocketServer( { server: app } );
wss.on( 'connection', function ( wsConnect ) {
wsConnect.on( 'message', function ( message ) {
console.log( message );
});
});
}());
客户:
var WebSocket = require('ws');
var ws = new WebSocket('wss://localhost:8080');
ws.on('open', function() {
ws.send('something');
});
证书确认。
帮助>请!
原文由 Yaroslav L. 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用一个名为“superagent”的包并得到同样的错误。在尝试了几种可能的修复方法之后,我遇到了 100% 对我有用的方法:
无需执行任何要求或其他任何操作:只需在网络调用之前将其添加到您的代码中即可。