web-dev-qa-db-fra.com

Connexion à distance au serveur Neo4j

Je pense que la manière de créer une connexion distante consiste à modifier cette ligne dans conf/neo4j-server.properties, notamment en supprimant le commentaire et en redémarrant le serveur.

org.neo4j.server.webserver.address=0.0.0.0

Mon URL est https://0.0.0.0:7473/browser/ et fonctionne sur la machine locale, mais lorsque je teste l'URL dans Safari sur iPhone via 3G, il ne peut pas se connecter.

À quoi dois-je définir l'adresse dans le fichier de propriétés?

Je pensais que c’était l’adresse IP de mon ordinateur, mais après avoir essayé l’adresse distante que j’ai obtenue de Google « adresse ip mac », cela ne fonctionnait pas, pas plus que l’adresse IP locale de ma machine, 192.168.0.14

Je tiens à signaler que la définition de l'adresse IP par Google génère une erreur et que le journal se lit comme suit:

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]]
13
Adam Carter
With default configuration Neo4j only accepts local connections

Dans neo4j-community-3.1.0 éditez le fichier conf/neo4j.conf et décommentez ce qui suit pour accepter les connexions non locales

dbms.connectors.default_listen_address=0.0.0.0
14
Prasad Khode

En mettant

org.neo4j.server.webserver.address=0.0.0.0

active Neo4j sur toutes les interfaces réseau. 

Le reste de cette réponse n’a aucun rapport avec Neo4j, c’est une mise en réseau régulière. Vérifiez à nouveau si les ports 7473 (et/ou 7474) ne sont pas bloqués, ni par un pare-feu exécuté localement, ni par votre routeur. Votre adresse IP locale 192.168.0.14 indique que vous êtes derrière un routeur en train de faire du NAT. Par conséquent, vous devez configurer une redirection de port dans votre routeur pour les ports mentionnés ci-dessus.

Sachez que ceci est potentiellement dangereux car tout le monde, connaissant votre IP externe, peut accéder à votre instance Neo4j. Pensez à utiliser/ https://github.com/neo4j-contrib/authentication-extension ou utilisez un VPN en faveur du transfert de port.

14
Stefan Armbruster

en 3.0:

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

Me confus avec le réglage. Si vous rencontrez le même problème, 0.0.0.0 signifie simplement «ce serveur n’est plus local» et vous devez donc y accéder à l’adresse IP publique de l’ordinateur hébergeant le serveur Neo4j.

Assurez-vous simplement que les ports que vous avez définis dans les propriétés du serveur (les valeurs par défaut sont 7474 et 7473) sont ouverts pour les connexions entrantes sur votre routeur/pare-feu, etc.

3
Adam Carter

Je pense qu'il y a une certaine confusion ici. La propriété de configuration org.neo4j.server.webserver.address concerne l’adresse IP sur laquelle le serveur que vous démarrez est à l’écoute des connexions externes. La documentation pertinente est ici .

Il semble que vous demandiez comment configurer votre base de données pour communiquer avec une base de données distante. Je ne pense pas que vous puissiez faire ça. Plutôt, en modifiant ce fichier, vous prévoyez d’exécuter une base de données sur l’hôte où se trouve ce fichier. Votre base de données locale sur cet hôte écrira des fichiers là où le paramètre de configuration org.neo4j.server.database.location pointe.

Une connexion distante est quelque chose que Shell neo4j peut établir ou que votre navigateur peut établir sur un serveur étranger exécutant neo4j. mais vous n'établissez pas ce type de connexion à distance en modifiant ce fichier. Espérons que cela aide.

2
FrobberOfBits

De plus, si vous avez un accès ssh au serveur distant avec neo4j, vous pouvez configurer le tunnel ssh pour y accéder via localhost:

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

puis tapez dans le navigateur:

localhost:7474
1
Artem S.