Ich habe ein neues Ubuntu-Instanz-Setup auf Amazon EC2. Auf dieser Instanz befindet sich ein Knoten-Webserver. Wenn ich versuche, meine Website aufzurufen, wird in meinem Browser eine Fehlermeldung angezeigt. Der Fehler ist:
Connect: Connection refused
Ich habe bestätigt, dass ich die Maschine anpingen kann. Beim Eingeben http://[ipAddress]
oder http://[ipAddress]:8080
in meinem Browser wird jedoch der obige Fehler angezeigt. Wenn ich den Knoten-Webserver starte, heißt es:
Server listening on 8080
Ich habe die Portweiterleitung mit dem folgenden Befehl implementiert:
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80
-j REDIRECT --to-port 8080
Ich glaube, ich habe die Firewall mit den folgenden Befehlen ordnungsgemäß geöffnet:
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
Ich stecke fest. Ich weiß nicht, warum ich eine "Verbindung abgelehnt" bekomme. Ich würde mich sehr über jede Hilfe oder Erkenntnis freuen, die jemand geben kann. Zu diesem Zeitpunkt bin ich mir nicht sicher, ob diese Nachricht von Ubuntu oder vom Node-Server stammt. Darüber hinaus weiß ich nicht, wie ich dieses Problem aufspüren kann.
Danke für deine Hilfe. Es bedeutet mir viel.
Antworten:
Ihr Server hört höchstwahrscheinlich nicht auf, sondern
[ipAddress]:8080
nur auf localhost: 8080. Sie können dies mit netstat überprüfen. Sie müssen Ihren Server so konfigurieren, dass alle / geeigneten IP-Adressen abgehört werden. Wie dies zu tun ist, finden Sie in der Dokumentation.quelle
netstat -tnl | grep 8080
.Ich hatte genau das gleiche Problem mit meiner ExpressJS-App, und es ist nicht Ihre Umleitung. Ich habe lange Zeit iptables und netstat gehackt, bis mir klar wurde, dass ich meine HOST-Variable in meiner server.js-Datei auf gesetzt hatte
localhost
. Hier war mein nicht funktionierender Code:Fügen Sie einfach eine Hostvariable hinzu
Und dann mach das:
Hoffe das hilft :)
quelle
Sie möchten die serverAddress eingeben , damit sie auf der richtigen Netzwerkschnittstelle abhört :
Stellen Sie außerdem mit Amazon EC2 sicher, dass in der Verwaltungskonsole eine Sicherheitsgruppe an Ihre Computerinstanz angehängt ist, die den Zugriff auf diesen Port ermöglicht. (Mit diesen Sicherheitsgruppen können Sie die EC2-Firewall konfigurieren.)
quelle
Sie müssen Ihre private IP verwenden, um sie abzuhören. Die private IP-Adresse der Instanz (mehrere IP-Adressen werden aufgelistet, wenn mehr als eine Netzwerkschnittstelle zur Instanz vorhanden ist). Es wird in der EC2-Verwaltungskonsole pro Instanz angezeigt
quelle