使用node.jsdebuggingTLS客户端连接
我试图build立一个客户端连接到服务器使用node.js和TLS,但它失败了。
我的问题是如何获得有关为什么连接失败的更多信息。 理想情况下类似于使用openssl(连接正常)时显示握手和证书交换。
目前我所得到的是{[错误:套接字挂断]代码:'ECONNRESET'}。
我正在使用类似下面的代码基于互联网博客的东西。
var tls = require('tls'), fs = require('fs'); // callback for when secure connection established function connected(stream) { if (stream) { stream.write('Hello'); } else { console.log("Connection failed"); } } // needed to keep socket variable in scope var dummy = this; // try to connect to the server dummy.socket = tls.connect( { port: 8000, host: 'dest.server.com', ca: [ fs.readFileSync('C:\\Tools\\Certificates\\TestRoot.pem', 'utf8') ], cert: fs.readFileSync('C:\\Tools\\Certificates\\source.server.com.cert.pem', 'utf8'), key: fs.readFileSync('C:\\Tools\\Certificates\\source.server.com.key.pem', 'utf8'), passphrase: 'password', } , function() { // callback called only after successful socket connection dummy.connected = true; if (dummy.socket.authorized) { // authorization successful console.log('auth ok'); dummy.socket.setEncoding('utf-8'); connected(dummy.socket); } else { // authorization failed console.log('auth fail'); console.log(dummy.socket.authorizationError); connected(null); } }); dummy.socket.addListener('data', function(data) { // received data console.log(data); }); dummy.socket.addListener('error', function(error) { if (!dummy.connected) { // socket was not connected, notify callback connected(null); } console.log("FAIL"); console.log(error); }); dummy.socket.addListener('close', function() { // do something });
好了,在挖掘一下源代码之后,好像你可以通过设置NODE_DEBUG环境variables来包含'tls'来获得一些额外的信息。 这对我来说没有什么帮助,但对别人可能有帮助。
- 在Node.js中使用Rickshaw / D3,对于服务器端,原始svg可访问?
- 如何在JavaScript中validationEAN / GTIN条形码
- 读取一个ReadableStream并指定一个大小参数:为什么state.highWaterMark总是作为大小传递给._read()?
- Javascriptdate不一致
- 通过数组中的每个JSON对象中的值从JSON数组中删除重复项
- 节点js Adwords Api
- 节点REPL中的TypeError:当我向Object.prototype添加属性时,无法读取未定义的属性“0”
- Node.js – 只有一个用户超过最大调用堆栈大小
- “TypeError:this._subscribe不是函数”在简单的Node模块中尝试RxJS时