原文中文,约1000字,阅读约需3分钟。
📝
内容提要
文章讲述了作者使用Electron编写的监控客户端突然无法使用的问题。通过检查日志,发现是调用Node.js的fetch方法时遇到了证书问题。经过查找,发现是火绒的根证书不被Node.js信任,关闭了火绒的加密连接扫描设置后,问题得到解决。
🔎
延伸解读
火绒加密扫描如何引发证书错误
火绒6.0的“加密连接扫描”功能会拦截HTTPS流量,并用火绒的根证书重新签名网站证书。Node.js的fetch方法默认使用系统证书存储,但可能不信任火绒的根证书,导致“unable to verify the first certificate”错误。这解释了为何网站证书正常却报错。
排查此类问题的实用思路
遇到证书验证失败时,可先用浏览器查看实际证书颁发者。若发现是安全软件的根证书,则可能是其HTTPS扫描功能所致。检查近期安全软件升级或设置变动,并尝试关闭相关扫描功能,能快速定位问题。
关闭加密连接扫描的利弊
关闭火绒的“加密连接扫描”能解决Node.js等应用的证书错误,但也会降低对加密流量的安全检测。用户需权衡开发便利性与安全防护,或考虑将火绒根证书添加到Node.js的信任列表,但后者操作较复杂。
❓
Q&A
Node.js fetch 方法报错 'unable to verify the first certificate' 是什么原因?
这个错误是因为 Node.js 不信任火绒的根证书,导致无法验证证书。
如何解决 Node.js fetch 方法的证书验证错误?
可以通过关闭火绒的“加密连接扫描”设置来解决这个问题。
火绒 6.0 版本对 Node.js 的影响是什么?
火绒 6.0 版本的根证书不被 Node.js 信任,导致 fetch 方法出现证书错误。
在 Electron 中使用 Node.js fetch 方法时遇到证书问题怎么办?
检查证书颁发者,如果是火绒的根证书,可以尝试关闭火绒的加密连接扫描设置。
火绒的根证书是什么?
火绒的根证书是 Huorong Anti-Virus Personal Root Certificate,用于其安全软件的证书验证。
如何检查网站证书的有效性?
可以使用浏览器的开发者工具,查看安全标签中的证书信息来检查有效性。
🏷️