【问题标题】:Neo4j: Service Unavailable: Websocket Connection FailureNeo4j:服务不可用:Websocket 连接失败
【发布时间】:2021-05-19 16:13:15
【问题描述】:

目前正在尝试使用 Neo4j 浏览器 v3.2.10 和 Neo4j 3.4.9 启动 [Community AMI (https://aws.amazon.com/marketplace/pp/B071P26C9D)。我正在使用 Google Chrome 访问浏览器。我收到以下错误:

目前是获取 SSL 证书的唯一途径吗?

ServiceUnavailable:WebSocket 连接失败。由于安全 您的网络浏览器中的限制,失败的原因不是 可用于此 Neo4j 驱动程序。请使用您的浏览器开发 控制台来确定失败的根本原因。常见原因 包括数据库不可用,使用错误的连接 URL 或临时网络问题。如果您启用了加密,请确保 您的浏览器配置为信任 Neo4j 的证书 配置为使用。 WebSocketreadyState 是:3


按照Troubleshooting Connection Issues to Neo4j 的建议尝试了解决方案:

  1. 按照说明让您的浏览器信任螺栓端口的服务器证书,然后刷新页面。
    Chrome 上的http://ec2-54-xxx-xxx-111.compute-1.amazonaws.com:7687/ 返回:not a WebSocket handshake request: missing upgrade,并且没有信任选项此证书。
  2. 使用谷歌浏览器 目前使用谷歌浏览器 不工作
  3. 在 neo4j 配置中设置 dbms.connector.bolt.tls_level=OPTIONAL。
  4. 按照dbms.connector.bolt.address=0.0.0.0:7687 在neo4j 配置中设置dbms.connector.bolt.address=0.0.0.0:7687 根据Configuring Neo4j Cloud Instances/etc/neo4j/ 中更改neo4j.template 后,上述两种解决方案均未解决问题
  5. 安全组应符合以下要求:

所以人们不认为这是一个重复的问题,这些解决方案不起作用: Web Sockets Connections Failure... 不起作用,选项在 v3.2.10 中不可用

Neo4j-3-1-3 Graph Database Access Remotely

Neo4J Websocket Connection Failure (TCP/IP 配置) 所有解决方案都不起作用...


很好奇最好的选择是什么。谢谢

【问题讨论】:

  • 我遇到了同样的问题。我还重新启动了 Neo4j 服务 (sudo service neo4j stop/start),但它没有改变任何东西 - 同样的错误。
  • @ManishGiri 回答已更新

标签: amazon-web-services ssl amazon-ec2 neo4j


【解决方案1】:

我们遇到了这个问题。我们花了一天时间,但我们找到了解决方案。我们使用了外部签名的证书,但它仍然不起作用!令人沮丧的是 Web 前端工作正常。所以我们有完整的挂锁快乐信号,但是一旦我们使用 Bolt,它就失败并出现错误。

所以首先要知道的是,当您使用 Chrome(或大多数浏览器)时,它可以很好地搜索互联网以找到您的证书合法的证据。因此,如果你错误地构建了你的链,你就会侥幸逃脱。然而,对于 Web Sockets,它似乎遵循不同的规则。它不做这个有用的搜索。 Chrome 在给出任何错误方面似乎真的很差,因此很难诊断。

所以我们所做的是访问 Bolt/WebSocket 端口,将 url bolt+s://{myserver} 更改为 https://{myserver}。它会连接,但会给你一个随机错误。但它确实为您提供了对证书的访问权限。你可以看到整个链条。我们发现我的链条与 Chromes 链条不同。我的链由外部网站检查,是正确的,但与 Chrome 的不同。这已被检测到,因此我们得到了拒绝的服务。

所以我们所做的是使用 https:// 技巧通过导出证书来复制证书(不要忘记 Base 64 版本而不是二进制文件)。将整个链复制到一个文档中,并在 Neo4j 中用作 Bolt 的证书。

如果终于开始工作了。

所以回顾一下。使用 https:// 访问 bolt+s:// 连接,这使您可以访问证书和证书链。将证书导出为 Base64 和链(向后工作)。将所有这些复制到一个文件中,并使用 neo4j.conf 指向您的 Bolt 连接器以将此文件用作您的证书。你会发现它终于开始工作了。

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 2018-12-19
      • 1970-01-01
      • 2022-10-17
      • 1970-01-01
      相关资源
      最近更新 更多