问题描述
我刚刚在 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
环顾四周,我明白以下几点:
- Neo4j Desktop 使用 Electron 前端。
- Electron 前端使用 electron.build 包管理系统来保持自己的最新状态
- 当我启动数据库时,前端会调用自动更新程序(electron.build 的一部分)来检查最新版本。此代码不知道必须信任的其他证书。
结果它爆炸了。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)