cancel
Showing results for 
Search instead for 
Did you mean: 

Installed on an AWS server, but unable to access Neo4j from another machine

p_dipietro
Node Clone

Hi all!

  • OS: Ubuntu 20.04 server installed on an Amazon ec2 machine
  • neo4j version: 4.0.1

I'm trying to install neo4j communiti server into an Ubuntu machine running on AWS.

I cannot successfully run neo4j. There is a real mess with the ports.

First: The machine starts on port 7474:
Started neo4j (pid 35722). It is available at http://localhost:7474.

The following ports are opened on aws

Type Protocol Port range Source Description - optional
HTTP TCP 80 0.0.0.0/0
SSH TCP 22 0.0.0.0/0
Custom TCP TCP 7474 0.0.0.0/0
Custom TCP TCP 7687 0.0.0.0/0

I have the following config files:

neo4j.conf
dbms.connector.bolt.listen_address=7687
dbms.connector.http.listen_address=7474

dbms.default_listen_address=0.0.0.0
dbms.default_advertised_address=0.0.0.0

The following test looks correct (for me!)
curl localhost:7474

{
"bolt_routing" : "neo4j://0.0.0.0:7687",
"transaction" : "http://localhost:7474/db/{databaseName}/tx",
"bolt_direct" : "bolt://0.0.0.0:7687",
"neo4j_version" : "4.0.11",
"neo4j_edition" : "community"
}

Finally, when I try to connect it give me the login screen for neo4j, but when I insert the username and password it returns the following two errors:

Could not connect with the "neo4j://" scheme to this Neoj server. Automatic retry using the "bolt://" scheme in a moment...

And the bolt scheme fails too, with the following message:

**ServiceUnavailable: WebSocket connection failure. Due to security constraints in your web browser, the reason for the failure is not available to this Neo4j Driver. **

Any help will be highly apppreciated!

4 REPLIES 4

I don't think you should change the advertised address to 0.0.0.0 rather use your public ip address there. Otherwise the clients try to find your database under the 0.0.0.0 address.

p_dipietro
Node Clone

Hi Michael, I'll be very happy if you could help me to connect my DB.
At the moment, I reinstalled everything and I'm in my intranet.
I'm using neo4jrb, community edition 4.0.11 running on Ubuntu 20.04

Neo4j is running on a machine with ip address 192.168.1.104
I have changed the

  • dbms.default_listen_address=0.0.0.0
  • default_advertised_address is commented

With this configuration I can access the DB from localhost, but not from another machine on the network.

I tryed to change the default_advertised_address to the ip address of the server

  • dbms.default_advertised_address to 192.168.1.104

Now, I cannot connect anymore: if I try to connect to locahost on the server machine, it present the server connect page, but returns a websocket connection failure.

If I try to connect to 192.168.1.104 it refuses the connection.

Have you any idea of how to solve this problem?

Thank you
Paolo

The 192 ip is a private ip you need to use the public ip of your aws instance

You should also use a more recent version of neo4j

p_dipietro
Node Clone

Well, about the private IP, I just reinstalled everything on my local server, with the same result.

About your suggestion to use a newer version, I ma horrified: I'm trying to ise the neo4jrb support and the 4.0.1 is the latest version supported.

I was very disappointed when and how neo4j abandoned the official support to ruby!!!
So, just now, I have been forced to abandone ruby too.

Now I'm trying to use node with express. When I'll have an installed version on my local server, I'll will return to you to solve the access problem.

Nodes 2022
Nodes
NODES 2022, Neo4j Online Education Summit

All the sessions of the conference are now available online