远程连接Neo4j服务器

18

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

org.neo4j.server.webserver.address=0.0.0.0

我的URL是https://0.0.0.0:7473/browser/,在本地机器上运行正常,但当我通过3G上的iPhone上的Safari测试URL时,无法连接。

在属性文件中,我应该将地址设置为什么?

我以为是我的计算机IP地址,但是尝试了从谷歌搜索“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]]
7个回答

25
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

17

通过设置

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来代替端口转发。


13

在3.0版本中:

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

谢谢 Meng,那很有帮助。 - ForeverConfused
1
这个答案是 https://dev59.com/lF4c5IYBdhLWcg3wLXvI#41236530 的重复(或反之亦然)。这个答案没有说明那个配置文件在哪里。 - canbax

3

对于设置感到困惑的人,0.0.0.0只是表示“这个服务器不再是本地的”,因此要访问它,您需要使用托管Neo4j服务器的计算机的公共IP地址。

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


2
此外,如果您可以通过ssh访问neo4j的远程服务器,则可以设置ssh隧道以通过localhost访问它:
ssh -NfL localhost:7474:localhost:7474 -L localhost:7687:localhost:7687 yourname@yourhost

然后在浏览器中输入:

localhost:7474

2
我认为这里有一些混淆。配置属性org.neo4j.server.webserver.address是关于启动的服务器在哪个IP地址上监听外部连接的。相关文档在这里
看起来你正在询问如何配置你的数据库以与远程数据库通信。我不认为你可以这样做。相反,通过编辑该文件,你计划在该文件所在的主机上运行一个数据库。该主机上的本地数据库将写入到org.neo4j.server.database.location配置参数指向的任何位置。
远程连接是neo4j shell可能建立的一种连接,或者您的浏览器可能会连接到运行neo4j的外部服务器;但是你不能通过编辑该文件来建立这种远程连接。希望这可以帮助你。

0

这取决于版本。

在配置文件中查找短语“非本地连接”。(在我的情况下,$NEO4J_HOME/conf/neo4j.conf

然后按照注释中的说明进行操作。

在我的情况下,

# With default configuration Neo4j only accepts local connections.
# To accept non-local connections, uncomment this line:
server.default_listen_address=0.0.0.0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接