Ich habe eine neo4j-Datenbank in einer Google Cloud Compute-Instanz installiert und möchte von meinem Laptop aus eine Verbindung zur Datenbank herstellen.Konfigurieren Sie die Google Cloud Compute-Firewall für den externen Zugriff auf den DB-Server
[1] Ich Neo4j haben laufen auf Google Cloud
● neo4j.service - Neo4j Graph Database
Loaded: loaded (/lib/systemd/system/neo4j.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2017-09-30 09:33:39 UTC; 1h 3min ago
Main PID: 2099 (java)
Tasks: 41
Memory: 504.5M
CPU: 18.652s
CGroup: /system.slice/neo4j.service
└─2099 /usr/bin/java -cp /var/lib/neo4j/plugins:/etc/neo4j:/usr/share/neo4j/lib/*:/var/lib/neo4j/plugins/* -server -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:+U
nlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -XX:+DisableExplicitGC -Djdk.tls.ephemeralDHKeySize=2048 -Dunsupported.dbms.udc.source=debian -Dfile.encoding=UTF-8 org.neo4j.server.Commu
nityEntryPoint --home-dir=/var/lib/neo4j --config-dir=/etc/neo4j
Sep 30 09:33:40 neo4j-graphdb-server neo4j[2099]: certificates: /var/lib/neo4j/certificates
Sep 30 09:33:40 neo4j-graphdb-server neo4j[2099]: run: /var/run/neo4j
Sep 30 09:33:40 neo4j-graphdb-server neo4j[2099]: Starting Neo4j.
Sep 30 09:33:42 neo4j-graphdb-server neo4j[2099]: 2017-09-30 09:33:42.948+0000 INFO ======== Neo4j 3.2.5 ========
Sep 30 09:33:42 neo4j-graphdb-server neo4j[2099]: 2017-09-30 09:33:42.988+0000 INFO Starting...
Sep 30 09:33:44 neo4j-graphdb-server neo4j[2099]: 2017-09-30 09:33:44.308+0000 INFO Bolt enabled on 127.0.0.1:7687.
Sep 30 09:33:47 neo4j-graphdb-server neo4j[2099]: 2017-09-30 09:33:47.043+0000 INFO Started.
Sep 30 09:33:48 neo4j-graphdb-server neo4j[2099]: 2017-09-30 09:33:48.160+0000 INFO Remote interface available at http://localhost:7474/
Sep 30 09:39:17 neo4j-graphdb-server neo4j[2099]: 2017-09-30 09:39:17.918+0000 WARN badMessage: 400 No URI for [email protected]{r=0,c=false,a=IDLE,uri=-}
Sep 30 09:46:18 neo4j-graphdb-server neo4j[2099]: 2017-09-30 09:46:18.374+0000 WARN badMessage: 400 for [email protected]{r=0,c=false,a=IDLE,uri=-}
[2] ich eine Firewall-Regel auf Google Cloud erstellt haben externen Zugriff auf den DB-Server
zu ermöglichen Das Netzwerk-Tag von "google-db-server" wurde dem Google Cloud Compute-Server hinzugefügt.
Meine Erwartung ist, dass die Regel unten wird jede externe Maschine ermöglicht Port 7474 auf der Google Cloud Compute-Instanz zu verbinden
[email protected]:~/home$ gcloud compute firewall-rules create custom-allow-neo4j --action ALLOW --rules tcp:7474 --description "Enable access to the neo4j database" --direction IN --target-tags google-db-server
[email protected]:~/home$ gcloud compute firewall-rules list --format json
[
{
"allowed": [
{
"IPProtocol": "tcp",
"ports": [
"7474"
]
}
],
"creationTimestamp": "2017-09-30T00:25:51.220-07:00",
"description": "Enable access to the neo4j database",
"direction": "INGRESS",
"id": "5767618134171383824",
"kind": "compute#firewall",
"name": "custom-allow-neo4j",
"network": "https://www.googleapis.com/compute/v1/projects/graphdb-experiment/global/networks/default",
"priority": 1000,
"selfLink": "https://www.googleapis.com/compute/v1/projects/graphdb-experiment/global/firewalls/custom-allow-neo4j",
"sourceRanges": [
"0.0.0.0/0"
],
"targetTags": [
"google-db-server"
]
},
[3] Lauf nmap aus dem Beispiel Google Cloud-Servers zeigt, dass Port 7474 lokal verfügbar ist, und ich kann auf diesem Port telnet lokal
[email protected]:~$ nmap -p 22,80,443,7474 localhost
Starting Nmap 7.01 (https://nmap.org) at 2017-09-30 10:46 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000081s latency).
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp closed https
7474/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
[email protected]:~$ telnet localhost 7474
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
[4] aber ich bin nicht in der Lage von meinem Laptop und NMA zu verbinden p zeigt Port 7474 als nicht verfügbar
[email protected]:~/home$ nmap -p 22,80,443,7474 35.201.26.52
Starting Nmap 7.01 (https://nmap.org) at 2017-09-30 20:50 AEST
Nmap scan report for 52.26.201.35.bc.googleusercontent.com (35.201.26.52)
Host is up (0.28s latency).
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp closed https
7474/tcp closed unknown
Nmap done: 1 IP address (1 host up) scanned in 0.75 seconds
So trotz der Firewall-Regel jede IP-Adresse zu ermöglichen, erstellt werden auf die Google Cloud Compute-Instanz auf tcp zu verbinden: 7474, bin ich immer noch nicht in der Lage diesen Port für den Zugriff auf von meinem Laptop.
Fehle ich einige zusätzliche Schritte?
Dank @David, das war das Problem. Ich hätte die Dokumente zuerst unter http://neo4j.com/docs/operations-manual/current/ ... lesen sollen. – Skilly
Wenn Sie meinen, dass mein Kommentar Ihre Frage vollständig beantwortet, können Sie [akzeptieren] (https: // stackoverflow. com/help/someone-answer) meine Antwort, um die Frage als beantwortet zu markieren und uns beide ein wenig Ansehensschwäche zu geben. – David