node.js - 如何在 Node 的 https 模块中记录 SSL 握手

标签 node.js ssl https

我有一个用 Node 编写的服务器,它实现了一个安全的双向 SSL 网络服务器:

var https = require('https');
var express = require('express');
var app = express();

var options {
  key: ...,
  cert: ...,
  ca: ...,
  requestCert: true,
  rejectUnauthorized: true
};
https.createServer(options, app).listen(port, host);

但是由于某些未知原因,客户端连接失败。因此,如果我能获得有关连接失败原因的任何日志,那就太好了。

到目前为止,我能得到的所有日志都来自 app,它是一个 express 对象。但问题是,当连接因证书问题而被拒绝时,它不会到达 express,所以我没有收到错误日志。如何从 https 服务器获取日志?

最佳答案

我也遇到过这个问题,虽然我无法想出一个解决方案来记录 https 模块中的所有错误,但我能够让它记录调试信息通过使用:

NODE_DEBUG='tls,https' node server.js

这并不理想,因为它没有给你确切的错误(例如:Bad SSL Handshake)和相关的回溯,它确实给你像 TLS: onhandshakestart 这样的信息,让你知道如果在日志中找不到相应的 TLS: onhandshakeend,则如果出现错误,则退出。

关于node.js - 如何在 Node 的 https 模块中记录 SSL 握手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49901701/

相关文章:

javascript - 使用 Node.js 处理大流

ssl - 共享模式下 Azure 网站的自定义域 SSL 证书

SSL 实现 oracle apex

configuration - glassfish 中的 SSL 配置

javascript - 需要找到 MQTT 的安全 Websocket 代理

javascript - 在 Node.js 下使用express和session配置socket.io和htpps

node.js - 第一页加载时有多个快速 session 实例

javascript - 与 python-shell 和 node.js 的双向通信

angularjs - “ng”不被识别为内部或外部命令、可操作程序或批处理文件。 (平均堆栈)

.htaccess - 将一页的 HTTP 重定向到 HTTPS