18

I believe the way to creating a remote connection is by changing this line in conf/neo4j-server.properties, specifically by removing the comment and restarting the server.

org.neo4j.server.webserver.address=0.0.0.0

My URL is https://0.0.0.0:7473/browser/ and works on the local machine, but when I test the URL in Safari on iPhone over 3G, it cannot connect.

What do I set the address to in the properties file?

I thought it was the IP address of my computer, but after trying the remote address which I got from Googling “ip address mac” that didn’t work, nor did (obviously) the local IP address of my machine, 192.168.0.14

I should point out that setting it to the IP address from Google throws an error and the log reads:

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]]
Adam Carter
  • 4,741
  • 5
  • 42
  • 103

7 Answers7

25
With default configuration Neo4j only accepts local connections

In neo4j-community-3.1.0 edit conf/neo4j.conf file and uncomment the following to accept non-local connections

dbms.connectors.default_listen_address=0.0.0.0
Prasad Khode
  • 6,602
  • 11
  • 44
  • 59
17

By setting

org.neo4j.server.webserver.address=0.0.0.0

enables Neo4j on all network interfaces.

The remainder of that reply is not Neo4j related at all - it's regular networking. Double check if port 7473 (and/or 7474) are not blocked neither be a locally running firewall nor by your router. You local IP 192.168.0.14 indicates you're behind a router doing NAT. Therefore you have to setup a port forwarding in your router for the ports mentioned above.

Please be aware that this is potentially dangerous since everyone knowing your external IP can access your Neo4j instance. Consider using either https://github.com/neo4j-contrib/authentication-extension or use a VPN in favour of port forwarding.

Stefan Armbruster
  • 39,465
  • 6
  • 87
  • 97
13

in 3.0:

##### To have HTTP accept non-local connections, uncomment this line
dbms.connector.http.address=0.0.0.0:7474
Prasad Khode
  • 6,602
  • 11
  • 44
  • 59
Meng Zhao
  • 401
  • 5
  • 9
3

Confused myself with the setting. Anyone who has the same problem, 0.0.0.0 just means “this server isn’t local any more” and so to access it you use the public IP address of the computer that’s hosting the Neo4j server.

Just make sure that the ports you set in the server properties (default are 7474 and 7473) are open for incoming connections on your router/firewall etc.

Adam Carter
  • 4,741
  • 5
  • 42
  • 103
2

I think there's some confusion here. That configuration property org.neo4j.server.webserver.address is about which IP address the server you're starting listens on for external connections. Relevant documentation is here.

It seems you're asking how to configure your database to talk to a remote database. I don't think you can do that. Rather, by editing that file you're planning on running a database on the host where that file is. Your local database on that host will write files to wherever the org.neo4j.server.database.location configuration parameter points.

A remote connection is something that the neo4j shell might establish, or that you browser might make to a foreign server running neo4j; but you don't establish that sort of remote connection by editing that file. Hopefully this helps.

FrobberOfBits
  • 17,634
  • 4
  • 52
  • 86
2

Also if you have ssh access to remote server with neo4j you can setup ssh tunnel to access it via localhost:

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

then type in browser:

localhost:7474
Artem S.
  • 543
  • 5
  • 16
0

Depends on the version.

Look for the phrase 'non-local connections' in the conf file.(In my case, $NEO4J_HOME/conf/neo4j.conf)

Then follow the instructions in the comments.

In my case,

# With default configuration Neo4j only accepts local connections.
# To accept non-local connections, uncomment this line:
server.default_listen_address=0.0.0.0
plhn
  • 5,017
  • 4
  • 47
  • 47