远程连接到Neo4j服务器

时间:2015-01-29 17:08:47

标签: neo4j

我认为创建远程连接的方法是在conf/neo4j-server.properties中更改此行,特别是删除注释并重新启动服务器。

org.neo4j.server.webserver.address=0.0.0.0

我的网址是https://0.0.0.0:7473/browser/并且可以在本地计算机上运行,​​但是当我通过3G测试iPhone上的Safari时,它无法连接。

如何在属性文件中设置地址?

我以为这是我的电脑的IP地址,但是在尝试了我从Googling“ip address mac”获得的远程地址后,该设备无效,也没有(显然)我机器的本地IP地址,192.168.0.14

我应该指出,将其设置为Google的IP地址会引发错误,日志显示为:

2015-01-29 17:10:08.888+0000 INFO  [API] Failed to start Neo Server on port [7474], reason [MultiException[java.net.BindException: Can't assign requested address, java.net.BindException: Can't assign requested address]]

6 个答案:

答案 0 :(得分:17)

With default configuration Neo4j only accepts local connections

neo4j-community-3.1.0编辑conf/neo4j.conf文件中取消注释以下内容以接受非本地连接

dbms.connectors.default_listen_address=0.0.0.0

答案 1 :(得分:14)

通过设置

org.neo4j.server.webserver.address=0.0.0.0

在所有网络接口上启用Neo4j。

该答复的其余部分根本不是与Neo4j相关的 - 它是常规网络。仔细检查端口7473(和/或7474)是否既不是本地运行的防火墙也不是路由器。您本地IP 192.168.0.14表示您正在做NAT的路由器。因此,您必须在路由器中为上述端口设置端口转发。

请注意,这是有潜在危险的,因为每个人都知道您的外部IP可以访问您的Neo4j实例。考虑使用https://github.com/neo4j-contrib/authentication-extension或使用VPN支持端口转发。

答案 2 :(得分:10)

在3.0中:

##### To have HTTP accept non-local connections, uncomment this line
dbms.connector.http.address=0.0.0.0:7474

答案 3 :(得分:3)

对设置感到困惑。任何有同样问题的人0.0.0.0只是意味着“此服务器不再是本地服务器”,因此要访问它,您需要使用托管Neo4j服务器的计算机的公共IP地址。

只需确保您在路由器/防火墙等上为传入连接打开了在服务器属性中设置的端口(默认为7474和7473)。

答案 4 :(得分:2)

我觉得这里有些混乱。该配置属性org.neo4j.server.webserver.address是关于您开始侦听外部连接的服务器的IP地址。 Relevant documentation is here

您似乎在询问如何配置数据库以与远程数据库通信。我不认为你能做到这一点。相反,通过编辑该文件,您计划在该文件所在的主机上运行数据库。该主机上的本地数据库将文件写入org.neo4j.server.database.location配置参数指向的任何位置。

远程连接是neo4j shell可能建立的,或者是浏览器可能对运行neo4j的外部服务器进行的;但是你不能通过编辑该文件来建立这种远程连接。希望这会有所帮助。

答案 5 :(得分:1)

另外,如果您可以通过neo4j使用ssh访问远程服务器,则可以设置ssh隧道以通过本地主机访问它:

registry

然后在浏览器中输入:

ssh -NfL localhost:7474:localhost:7474 -L localhost:7687:localhost:7687 yourname@yourhost