Neo4J Connectivity Issue

Team,

    Recently i have tried to configure the neo4j Graph DB on the AWS EC2 instance and accessing using the UI.  But when we connecting am getting the below error.

Hostname : ne04j.dev.eis.nylcloud.com

ELB : http://internal-neo4j-dev-i-elb-650335371.us-east-1.elb.amazonaws.com/browser/

Images - Attached

Error : ServiceUnavailable: WebSocket connection failure. Due to security constraints in your web browser, the reason for the failure is not available to this Neo4j Driver. Please use your browsers development console to determine the root cause of the failure. Common reasons include the database being unavailable, using the wrong connection URL or temporary network problems. If you have enabled encryption, ensure your browser is configured to trust the certificate Neo4j is configured to use. WebSocket readyState is: 3

Configuration Details :

#*****************************************************************

# Neo4j configuration

#

# For more details and a complete list of settings, please see

# https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/

#*****************************************************************

# The name of the database to mount

#dbms.active_database=graph.db

# Paths of directories in the installation.

dbms.directories.data=/var/lib/neo4j/data

dbms.directories.plugins=/var/lib/neo4j/plugins

dbms.directories.certificates=/var/lib/neo4j/certificates

dbms.directories.logs=/var/log/neo4j

dbms.directories.lib=/usr/share/neo4j/lib

dbms.directories.run=/var/run/neo4j

# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to

# allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the

# `LOAD CSV` section of the manual for details.

dbms.directories.import=/var/lib/neo4j/import

# Whether requests to Neo4j are authenticated.

# To disable authentication, uncomment this line

#dbms.security.auth_enabled=false

# Enable this to be able to upgrade a store from an older version.

#dbms.allow_upgrade=true

# Java Heap Size: by default the Java heap size is dynamically

# calculated based on available system resources.

# Uncomment these lines to set specific initial and maximum

# heap size.

#dbms.memory.heap.initial_size=512m

#dbms.memory.heap.max_size=512m

# The amount of memory to use for mapping the store files, in bytes (or

# kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g').

# If Neo4j is running on a dedicated server, then it is generally recommended

# to leave about 2-4 gigabytes for the operating system, give the JVM enough

# heap to hold all your transaction state and query context, and then leave the

# rest for the page cache.

# The default page cache memory assumes the machine is dedicated to running

# Neo4j, and is heuristically set to 50% of RAM minus the max Java heap size.

#dbms.memory.pagecache.size=10g

#*****************************************************************

# Network connector configuration

#*****************************************************************

# With default configuration Neo4j only accepts local connections.

# To accept non-local connections, uncomment this line:

dbms.connectors.default_listen_address=[ne04j.dev.eis.nylcloud.com](http://ne04j.dev.eis.nylcloud.com/)

# 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=[ne04j.dev.eis.nylcloud.com](http://ne04j.dev.eis.nylcloud.com/)

# 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=[0.0.0.0:7687](http://0.0.0.0:7687/)

# HTTP Connector. There can be zero or one HTTP connectors.

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

# Number of Neo4j worker threads.

#dbms.threads.worker_count=

#*****************************************************************

# SSL system configuration

#*****************************************************************

# Names of the SSL policies to be used for the respective components.

# The legacy policy is a special policy which is not defined in

# the policy configuration section, but rather derives from

# dbms.directories.certificates and associated files

# (by default: neo4j.key and neo4j.cert). Its use will be deprecated.

# The policies to be used for connectors.

#

# N.B: Note that a connector must be configured to support/require

Can you please check and help on this?


Thanks

Aru

  1. Make sure that dbms.connectors.default_advertised_address is set to a value that is externally routable.
  2. Make sure that ELB is not proxying port 7687 (bolt) as HTTP, that won't work.

Your error is that your browser cannot connect to port 7687 of that host. So the problem is either that firewalling on AWS side prevents this, or that ELB is getting in the way somehow.