我试图连接到我新设置的neo4j
这就是我配置neo4j.conf文件的方式:
# With default configuration Neo4j only accepts local connections.
# To accept non-local connections, uncomment this line:
dbms.connectors.default_listen_address=0.0.0.0
# You can also choose a specific network interface, and configure a non-default
# port for each connector, by setting their individual listen_address.
# The address at which this server can be reached by its clients. This may be the server's IP address or DNS name, or
# it may be the address of a reverse proxy which sits in front of the server. This setting may be overridden for
# individual connectors below.
#dbms.connectors.default_advertised_address=localhost
dbms.connectors.default_advertised_address=xx.xxx.xxx.xxx
# You can also choose a specific advertised hostname or IP address, and
# configure an advertised port for each connector, by setting their
# individual advertised_address.
# Bolt connector
dbms.connector.bolt.enabled=true
#dbms.connector.bolt.tls_level=OPTIONAL
#dbms.connector.bolt.listen_address=:7687
# HTTP Connector. There must be exactly one HTTP connector.
dbms.connector.http.enabled=true
#dbms.connector.http.listen_address=:7474
# HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=true
#dbms.connector.https.listen_address=:7473
(xx.xxx.xxx.xxx是当天的ip)
在日志中它表示在端口7474上启用了远程接口:
2016-12-12 21:17:06.845+0000 INFO Starting...
2016-12-12 21:17:07.860+0000 INFO Bolt enabled on 0.0.0.0:7687.
2016-12-12 21:17:10.666+0000 INFO Started.
2016-12-12 21:17:12.234+0000 INFO Remote interface available at http://xx.xxx.xxx.xxx:7474/
使用lsof -i -n -P我可以看到它在听:
java xxxx root xxxx IPv6 xxxxx 0t0 TCP *:7474 (LISTEN)
我确实设置了一个自定义tcp规则,允许从我的IP地址访问:
自定义TCP规则TCP 7474 xxx.xxx.xxx.xxx/xx
我确实在浏览器中显示它并且我被要求填写密码但是当我这样做时,我收到以下消息:
无法连接到neo4j。请检查您的网络连接。
过了一会儿,这条消息也出现了:
WebSocket连接失败。由于Web浏览器中的安全限制,此Neo4j驱动程序无法使用此故障原因。请使用您的浏览器开发控制台确定失败的根本原因。常见原因包括数据库不可用,使用错误的连接URL或临时网络问题。如果您已启用加密,请确保您的浏览器配置为信任Neo4j配置使用的证书。 WebSocket
readyState
是:3
我尝试了几种不同的设置,但没有一种能比我更进一步。
我找到的最接近的帖子就是这个Neo4j on Amazin EC2 - Not accessible from remote machines,但它没有答案,而是关注另一个版本(使用neo4j-server.properties)。
答案 0 :(得分:1)
我刚刚让neo4j工作了。 适用于AWS EC2 我必须更改2件事:
实例的AWS安全组
允许从任何地方进行TCP访问7474和7687(只需将默认的http端口in this aws guide替换为neo4j端口) 7474用于neo4j的http请求,而7687用于螺栓。
编辑/etc/neo4j/neo4j.conf
文件中的配置
此配置文件的编辑是如此令人困惑。我经历了以下评论:
我编辑了以下内容:
dbms.connectors.default_listen_address=0.0.0.0
dbms.connectors.default_advertised_address=<elastic ip>
-我刚刚映射了一个弹性ip并使用了它dbms.connector.bolt.enabled=true
dbms.connector.bolt.listen_address=0.0.0.0:7687
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=0.0.0.0:7474
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=0.0.0.0:7473
令人困惑的部分是listen_address
和advertised_address
。我的理解是,neo4j Web应用程序javascript使用后者来了解连接位置,而第一个就像将0.0.0.0设置为mysql侦听为远程服务一样。我也不知道为什么你需要nginx。在我的末端,我只是试图在aws ec2实例中设置neo4j。 这是一些帮助我进行设置的neo4j链接
最好的问候,
李宗盛
答案 1 :(得分:0)
在设置中选择“不要使用螺栓”选项解决了这个问题。