即使在成功启用 Bolt 后也无法建立与 Neo4j usign Bolt 方案的连接

Failed to establish connection to Neo4j usign bolt scheme even after successfully enabling Bolt

我想使用我的凭据连接到 Neo4j 数据库。我正在通过隧道进入一台机器,完成后,我在端口打开浏览器:localhost:7474。 我尝试使用 neo4j 和螺栓方案在 url 处进行连接: bolt://<node_ip>:7687neo4j://<node_ip>:7687 但连接超时。

我尝试查看日志,但只发现螺栓方案已启用:

bash-4.2$ tail -f /logs/debug.log
2021-07-02 21:26:03.323+0000 WARN  [o.n.k.a.p.GlobalProcedures] Failed to load `org.apache.commons.logging.impl.LogKitLogger` from plugin jar `/home/sandbox/neo/plugins/apoc-4.2.0.2-all.jar`: org/apache/log/Logger
2021-07-02 21:26:03.946+0000 INFO  [c.n.m.g.GlobalMetricsExtension] Sending metrics to CSV file at /home/sandbox/neo/metrics
2021-07-02 21:26:03.973+0000 INFO  [o.n.b.BoltServer] Bolt enabled on 0.0.0.0:7687.
2021-07-02 21:26:03.974+0000 INFO  [o.n.b.BoltServer] Bolt (Routing) enabled on 0.0.0.0:7688.
2021-07-02 21:26:03.974+0000 INFO  [o.n.s.AbstractNeoWebServer$ServerComponentsLifecycleAdapter] Starting web server
2021-07-02 21:26:04.001+0000 INFO  [o.n.s.m.ThirdPartyJAXRSModule] Mounted unmanaged extension [n10s.endpoint] at [/rdf]
2021-07-02 21:26:05.341+0000 INFO  [c.n.s.e.EnterpriseNeoWebServer] Remote interface available at http://<node_ip>:7474/
2021-07-02 21:26:05.341+0000 INFO  [o.n.s.AbstractNeoWebServer$ServerComponentsLifecycleAdapter] Web server started.
2021-07-02 21:35:34.565+0000 INFO  [c.n.c.c.c.l.s.Segments] [system/00000000] Pruning SegmentFile{path=raft.log.0, header=SegmentHeader{formatVersion=2, recordOffset=56, prevFileLastIndex=-1, segmentNumber=0, prevIndex=-1, prevTerm=-1}}
2021-07-02 21:35:46.079+0000 INFO  [c.n.c.c.c.l.s.Segments] [neo4j/32f6599b] Pruning SegmentFile{path=raft.log.0, header=SegmentHeader{formatVersion=2, recordOffset=56, prevFileLastIndex=-1, segmentNumber=0, prevIndex=-1, prevTerm=-1}}

查询日志为空,因为我无法执行任何查询:

bash-4.2$ tail -f query.log
2021-07-02 21:25:52.510+0000 INFO  Query started: id:1 - 1009 ms: 0 B - embedded-session        neo4j -  - call db.clearQueryCaches() - {} - runtime=pipelined - {}
2021-07-02 21:25:52.580+0000 INFO  id:1 - 1080 ms: 112 B - embedded-session     neo4j -  - call db.clearQueryCaches() - {} - runtime=pipelined - {}

我阅读的其他文章或答案主要是关于错误配置:错误的端口,但我认为我的情况并非如此,因为我从 debug.log 文件中检查了我的端口是否正常。

FWIW,我正在为我的 Neo4j 使用 3 个副本,现在只连接到一个 pod。

我正在为两个端口建立隧道:

ssh -L 7687:$IP:7687 -L 7474:$IP:7474 domain_name.com -N```

也许你已经检查过了,但如果没有,你能确保端口7687也被转发了吗?当我通过浏览器隧道时,我的期望是 7474 就足够了,但事实证明转发 7687 也是必要的。

所以,我没有在连接字符串中提供本地主机,而是犯了一个愚蠢的错误,写下了实际的 IP,这就是连接超时的原因。