WebSocket连接失败。由于您的网络浏览器中的安全限制

时间:2017-06-07 07:25:36

标签: neo4j

今天我在windows下载neo4j-community-3.2.0,当我启动服务器时,我在浏览器中遇到一个问题,我在neo4j-community-3.1.2中遇到了这个问题,我通过Ticking&解决了这个问题#34;不要使用Bolt"设置选项解决了问题。但是在neo4j-community-3.2.0中,我无法看到"不要使用Bolt"选项,我不知道该怎么做。

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

9 个答案:

答案 0 :(得分:2)

之所以发生这种情况,是因为浏览器试图(在后台)也访问使用未签名证书的螺栓端口。

您可能允许浏览器通过将未签名的证书作为浏览器上的例外来访问SSL 7474端口(如果没有,则应使其正常工作)。 网址为:
https://[neo4j_host]:7474

对螺栓证书执行相同的操作,允许它作为url的例外:
https://[neo4j_host]:7687

答案 1 :(得分:1)

我在尝试在AWS Ubuntu 16.04实例上使用Neo4j Community Edition时遇到了同样的问题。解决它的关键是在AWS安全组设置中打开端口7687(螺栓端口)。

根据https://stackoverflow.com/a/45234105/1529646

找到此信息

因此,完整的答案是:

  1. 确保正确配置Neo4j,即。取消注释行dbms.connectors.default_listen_address=0.0.0.0和行dbms.connector.bolt.listen_address=:7687
  2. 在AWS安全组设置中打开端口74747687

答案 2 :(得分:1)

假设您具有有效的证书,并将其放置在正确的certificates目录下:

dbms.ssl.policy.bolt.client_auth=NONE

版本4.0。从此article拿走了。

我在其他answer上共享了我的完整ssl配置。

答案 3 :(得分:0)

  1. 在浏览器齿轮的左下角,选择不使用螺栓。
  2. 打开您的ID NUM PROD ------------------------- 101 1701A001 book,data 102 1701A001 book,data 103 1702B005 ball,bat 104 1702B005 ball,bat 105 1703C006 Stumps 文件和edit the bolt settings。这只是取消注释这一行${NEO4J_HOME}/conf/neo4j.conf
  3. 更改Neo4j的版本
  4. 检查您的JDK版本,使用JDK1.8

答案 4 :(得分:0)

我有同样的错误。 Neo的新手,所以要加一点盐,但是我的解决方案与上述想法不符。但是感谢他们的确把我引向正确的“水”。所以

我进入conf文件,发现端口号是相同的(以前,Neo台式机一直在告诉我需要更新端口号...我从未检查过真实性,但是它们d是#,#+ 1和#+ 2,但那还行不通,那又一次又一次地发生了……但是现在,在我自己检查conf文件之后,我注意到这三个数字都相同尝试了BOLT的端口要求。尝试了一下,但它也不起作用...但是,在执行以下操作时,这也许很重要:

在特定数据库所在的文件夹中,名为“ ..neo4jdatabases / [GUID值]”的目录中有两个目录,分别为“ /installation-3.4.0”和“ ... 1”。我删除了“ .0”,重新启动了程序并进行了工作。

因此,在同一个数据库集合下不应有两个版本,或者这是正确的,并且您需要三个端口相同。

对于实际上知道自己在做什么的所有Neo4j专家,最后添加的内容,就是我正在运行三个数据库,其中两个没有问题。发生这种情况是在我想弄清楚PowerShell可能如何有用之后弄乱的。不知道这是否相关,但是其他数据库运行良好...但是,这个数据库是我从开始就拥有的原始游乐场/沙盒。不确定100%是,我在创建其他两个数据库之前或之后进行了版本更新。 HTH。

在Windows 10计算机上使用Windows试用版。当前的N4j版本是3.4.1。

爱我迄今为止用Neo BTW看到的一切!!

答案 5 :(得分:0)

添加另一个对我有用的选项。如果未将螺栓的tls_level设置为REQUIRED,并且未将其与SSL证书一起使用,则需要将其更改为OPTIONAL。使它正常工作。

如果您使用的是来自AWS Marketplace的Neo4J Community Edition(对于我来说,是3.5.1版),则需要在以下位置更改配置:

/etc/neo4j/pre-neo4j.sh

更改此行:

echo "dbms_connector_bolt_tls_level" "${dbms_connector_bolt_tls_level:=REQUIRED}"

echo "dbms_connector_bolt_tls_level" "${dbms_connector_bolt_tls_level:=OPTIONAL}"

您可以找到有关Neo4J connector configuration option here的更多信息。根据文档的理想情况,默认情况下,bolt.tls_level仅应为OPTIONAL。但是我不确定我的案子到底发生了什么,将其更改为REQUIRED。或者,如果它来自AWS Marketplace。

答案 6 :(得分:0)

请在连接 URL 文本框下提及正确的螺栓端口。如果您使用服务端口,请提及服务端口而不是螺栓端口。 enter image description here

enter image description here

最后我通过用 k8s 内部的服务端口替换螺栓端口来解决它。 用户:neo4j 密码:neo4j

答案 7 :(得分:0)

我通过在 Neo4j 中将端口 7687 替换为节点端口 30033 来解决此错误 然后它工作正常。

答案 8 :(得分:0)

我在 Ubuntu 18 EC2 实例上安装了 Neo4J 版本 4 时遇到了同样的问题。对我有用的解决方法是将 0.0.0.0 中的 /etc/neo4j/neo4j.conf 条目替换为我实例的实际私有 IP。

以下是发生替换的行:

<块引用>

dbms.default_listen_address=172.X.X.232

<块引用>

dbms.connector.bolt.address=172.X.X.232:7687

DB 重启后,从浏览器访问时的 Connect URL 也应该使用私有 IP 而不是 localhost