Wie kann ich Listen-Ports auf einer Amazon EC2-Instanz öffnen?

7

Ich verwende eine Amazon EC2-Mikroinstanz mit Ubuntu 11.04 (offizielles AMI von Canonical). Ich habe eine neue Sicherheitsgruppe für diese Instanz erstellt:

Inbound:

22 (SSH)    0.0.0.0/0
80 (HTTP)   0.0.0.0/0
443 (HTTPS) 0.0.0.0/0
3306 (MYSQL)    0.0.0.0/0
8080 (HTTP*)    0.0.0.0/0
27017   0.0.0.0/0
27018   0.0.0.0/0
27019   0.0.0.0/0
28017   0.0.0.0/0

Aber wenn ich den Webserver auf 8080 starte und versuche, ihn http://ec2-ip-address:8080/in meinem Browser zu öffnen , heißt es

Server nicht gefunden

… Mit der Standard-Google Chrome-Seite.

netstat -anltp | grep "LISTEN" 

sagt, dass mein einziger Port 22 ist.

Wie kann ich die aufgelisteten Ports öffnen, um meine Webprojekte zu starten?

EDIT: Die Lösung wurde gefunden. Sie müssen den Server lediglich mit der IP-Adresse 0.0.0.0 starten, nicht mit 127.0.0.1 oder localhost.

bbrodriges
quelle
Dies löste auch mein Problem mit Google App Eninge auf EC2. Müssen Sie es mit starten dev_appserver.py --host=0.0.0.0, um von außen verbinden zu können.
Guus

Antworten:

6

Hier gibt es einige Möglichkeiten. Die erste Möglichkeit besteht darin, dass Sie diesen Port in Apache nicht als Listener eingerichtet haben. Sie können dies tun, indem Sie eine Zeile wie hinzufügen

Listen 8080

In Ihre Apache-Konfigurationsdatei.

Die zweite Möglichkeit besteht darin, dass UFW ausgeführt wird (Ubuntu Firewall). Sie können dies durch Ausführen deaktivieren

sudo ufw disable

oder fügen Sie Ports hinzu über

sudo ufw allow 8080

Die letzte Möglichkeit ist, dass IPTables es blockiert, was Sie sich ansehen müssten

sudo iptables -L

um eine Liste der Regeln zu erhalten und sie von dort aus zu ändern.

Kevin
quelle
Ich benutze nicht Apache, deaktiviere ufw und lösche alle iptables
bbrodriges
OK, Entschuldigung, ich nahm an, dass Sie Apache verwenden. Es scheint, dass alles, was auf Port 8080/80/443 usw. abgehört werden soll, nicht konfiguriert / gestartet ist. Welchen Webserver verwenden Sie, vielleicht kann ich Ihnen dabei helfen.
Kevin
Ich verwende einen Standard-Webserver, der mit dem CherryPy Python-Webframework geliefert wird.
Bbrodriges
Ja, das startet oder läuft nicht. Sie müssen sich ansehen, wie Sie den mit CherryPy gelieferten Webserver starten, da ich damit nicht vertraut bin.
Kevin