我有一个用 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);
Run Code Online (Sandbox Code Playgroud)
但是由于某种未知原因,客户端无法连接。因此,如果我能获得有关连接失败原因的任何日志,那就太好了。
到目前为止,我能得到的所有日志都来自app一个快递对象。但问题是,当连接因证书问题而被拒绝时,它不会到达 express,所以我没有收到错误日志。如何从https服务器获取日志?
Gau*_*nia 10
我也遇到了这个问题,虽然我无法想出一个解决方案来记录https模块中的所有错误,但我能够使用以下方法记录调试信息:
NODE_DEBUG='tls,https' node server.js
Run Code Online (Sandbox Code Playgroud)
这并不理想,因为它不会为您提供确切的错误(例如:Bad SSL Handshake)和相关的回溯,它确实会为您提供类似的信息TLS: onhandshakestart,如果您找不到,它可以让您确定是否存在错误TLS: onhandshakeend日志中对应。
配置中有一个名为createServerCalled的选项enableTrace,它会导致 Node 打印大量有关握手的详细信息:
var options {
key: ...,
cert: ...,
ca: ...,
requestCert: true,
rejectUnauthorized: true,
enableTrace: true // Set this :)
};
Run Code Online (Sandbox Code Playgroud)
请参阅文档以获取更多信息。
| 归档时间: |
|
| 查看次数: |
2633 次 |
| 最近记录: |