
Ich bin gerade erst mit Ubuntu/Linux angefangen und habe einige Probleme, Port 80 für eingehende Verbindungen zu öffnen.
Ich habe den sudo ufw allow 80/tcp
Befehl ausgeführt und das Ergebnis sieht beim Ausführen sudo ufw status
folgendermaßen aus:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
Allerdings erhalte ich weiterhin diesen Fehler, wenn ich versuche, mit cURL eine Verbindung zum Port herzustellen.
Verbindung zu MY_IP_ADDRESS Port 80 konnte nicht hergestellt werden: Verbindung abgelehnt
Wenn ich diesen Befehl ausführe, netstat -ntlp | grep LISTEN
um zu sehen, welche Ports geöffnet sind, erhalte ich dieses Ergebnis:
(No info could be read for "-p": geteuid()=1000 but you should be root.)
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
Das sieht nicht so vielversprechend aus.
Wie öffne ich Port 80 für eingehende Verbindungen?
Antwort1
Auf Port 80 lauscht kein Programm, daher ist er geschlossen und Sie können keine Verbindung damit herstellen.
Sie können
sudo python -m SimpleHTTPServer 80
Für Python-3:
sudo python3 -m http.server 80
um einen einfachen Webserver zu starten, der auf Port 80 lauscht, oder installieren Sie etwas wie Apache (Paket apache2
), wenn Sie einen vollwertigen Webserver möchten.
Antwort2
UFWist derUnkomplizierte Firewall. Es verwaltet, welche Ports auf Ihrem Computer für das Abhören durch eine Anwendung geöffnet werden können. sudo ufw allow 80/tcp
bedeutet erlaubenTCPVerbindungen zuHafen 80.
Es gibt jedoch nichts, das hinter dem Port tatsächlich mithört. An curl
den Port sollte eine Anwendung angeschlossen sein, die eine Antwort sendet. Dies wird normalerweise als Server bezeichnet. Wie @Florian anmerkt, können Sie Folgendes verwenden:Python's, SimpleHTTPServer
um es zu testen.
Antwort3
Verwenden:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Um zu verhindern, dass die iptables-Konfiguration beim Neustart verloren geht, verwenden Sie:
sudo apt-get install iptables-persistent
Antwort4
Sie können sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
dies verwenden, um den Port zu akzeptieren, wenn er mit dem Port konfiguriert wird, um zu verhindern, dass diese Terminal-Codezeile verloren geht. Sie können sudo apt-get install iptables-persistent
den Grund für sudo am Anfang eines Befehls verwenden, um ihn als Superuser ausführen zu lassen. Der Persistent verwendet ihn als dauerhafte Verbindung zum angegebenen Port. Sie können auch Python verwenden, SimpleHTTPServer
um es zu testen! Das war eine großartige Frage! Danke!