Windows 上的桌面 1.4.1 - 启动任何数据库立即失败,并在日志中显示错误 UNABLE_TO_GET_ISSUER_CERT_LOCALLY

问题描述

我刚刚在 Windows 上安装了 Neo4J Desktop,但无法启动任何数据库。检查日志 C:\Users\mkharitonov.Neo4jDesktop\log.log 揭示了根本原因 - UNABLE_TO_GET_ISSUER_CERT_LOCALLY 和以下堆栈跟踪:

  stack: 'RequestError: unable to get local issuer certificate\n' +
    '    at ClientRequest.<anonymous> (C:\\Users\\mkharitonov\\AppData\\Local\\Programs\\Neo4j Desktop\\resources\\app.asar\\node_modules\\got\\source\\request-as-event-emitter.js:178:14)\n' +
    '    at Object.onceWrapper (events.js:291:20)\n' +
    '    at ClientRequest.emit (events.js:208:15)\n' +
    '    at ClientRequest.EventEmitter.emit (domain.js:476:20)\n' +
    '    at ClientRequest.origin.emit (C:\\Users\\mkharitonov\\AppData\\Local\\Programs\\Neo4j Desktop\\resources\\app.asar\\node_modules\\@szmarczak\\http-timer\\source\\index.js:37:11)\n' +
    '    at TLSSocket.socketErrorListener (_http_client.js:399:9)\n' +
    '    at TLSSocket.emit (events.js:203:13)\n' +
    '    at TLSSocket.EventEmitter.emit (domain.js:476:20)\n' +
    '    at emitErrorNT (internal/streams/destroy.js:91:8)\n' +
    '    at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)\n' +
    '    at processticksAndRejections (internal/process/task_queues.js:77:11)'

这是有道理的。这是企业网络,除其他外,我们还使用 zscaler。 Windows 证书存储中有额外的可信证书。

然而,Neo4J 桌面似乎在其他地方寻找证书。 我可以以任何需要的格式提取所需的证书,但我不知道将它们放在哪里以便 Neo4J 桌面查看它们。

我该怎么办?

编辑 1

环顾四周,我明白以下几点:

  1. Neo4j Desktop 使用 Electron 前端。
  2. Electron 前端使用 electron.build 包管理系统来保持自己的最新状态
  3. 当我启动数据库时,前端会调用自动更新程序(electron.build 的一部分)来检查最新版本。此代码不知道必须信任的其他证书。

结果它爆炸了。

我找不到如何禁用自动更新程序或让它知道其他可信证书的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)