Ich bin sicher, das ist sehr noobisch, also vergib mir. Ich versuche, einen node.js-Server auf Port 8080 meines Ubuntu 10.04 auszuführen.
Hier ist das Ergebnis von iptables -L auf dem Server:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Und hier ist das Ergebnis von nmap -p 8080 (bearbeitet die IP-Adresse, weil alles weit offen ist oder sein sollte)
nmap 173.203.xxx.xxx -p 8080 -A
Starting Nmap 5.00 ( http://nmap.org ) at 2011-05-19 22:52 PDT
Interesting ports on xxx (173.203.xxx.xxx):
PORT STATE SERVICE VERSION
8080/tcp closed http-proxy
Warum um alles in der Welt wird 8080 als geschlossen angesehen? Dies hinzuzufügen hat nicht geholfen:
iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
Ich bin wirklich verwirrt.
Ich werde dies hinzufügen, falls es hilft, aber ich weiß es nicht
netstat -pan | grep 80
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 16785/node
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 16471/apache2
Ich kann auf meine reguläre Website zugreifen, die über Port 80 auf Apache ausgeführt wird, aber der node.js-Server ist von außen nicht zugänglich. Der Zugriff vom Server aus funktioniert einwandfrei.
Meine Frage lautet also: Wie gehe ich beim Debuggen vor? Könnte es etwas anderes geben als iptables, die einige Ports blockieren? Wie finde ich heraus, was es ist?
Jede Hilfe sehr geschätzt!
Antworten:
Vielen Dank für das Hinzufügen der letzten Netstat-Ausgabe, es hat wirklich geholfen. Sie können nicht von außerhalb auf node.js zugreifen, da es die IP des lokalen Hosts überwacht, z. B. 127.0.0.1. Sie müssen node.js so konfigurieren, dass es 0.0.0.0 überwacht, damit Verbindungen auf allen IP-Adressen Ihres Computers akzeptiert werden.
quelle
Gemäß Ihrer Netstat-Ausgabe ist Port 8080 nur für 127.0.0.1 (localhost) geöffnet. Daher funktioniert der Zugriff vom Server (localhost), jedoch nicht von einem anderen Ort.
Die richtige Ausgabe sollte so aussehen
quelle
Ich hatte das gleiche Problem.
Ich habe folgendes gemacht
Verwenden Sie den folgenden Link, um dieselben Ports auf Ubuntu Server zu aktivieren: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-14-04
Und nach diesem letzten fehlte mir noch Networking -> Firewall Rules -> default-allow-internal -> alle IP-Adressen 0.0.0.0/0
Erledigt
quelle