Ich fange gerade mit Ubuntu / Linux an und habe Probleme, Port 80 für eingehende Verbindungen zu öffnen.
Ich habe den sudo ufw allow 80/tcp
Befehl ausgeführt, und wenn ich sudo ufw status
das Ergebnis ausführe, sieht es so aus:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
Beim Versuch, mit cURL eine Verbindung zum Port herzustellen, wird dieser Fehler jedoch weiterhin angezeigt.
Verbindung zu MY_IP_ADDRESS-Port 80 fehlgeschlagen: Verbindung abgelehnt
Wenn ich diesen Befehl ausführe, um netstat -ntlp | grep LISTEN
zu sehen, welche Ports geöffnet sind, erhalte ich das folgende 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 -
Welches sieht nicht so vielversprechend aus ..
Wie öffne ich Port 80 für eingehende Verbindungen?
Nun, was für mich funktioniert hat, war iptable zu verwenden
quelle
Verwenden:
Um zu verhindern, dass die iptables-Konfiguration beim Neustart verloren geht, verwenden Sie:
quelle
Sie können
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
dies verwenden. Akzeptiert den Port, wenn er mit dem Port konfiguriert wird, um zu verhindern, dass diese Terminal-Codezeile verloren geht.sudo apt-get install iptables-persistent
Der Grund für sudo am Anfang eines Befehls besteht darin, ihn als Superuser laufen zu lassen, während der Persistierende ihn als persistierende Verbindung verwendet an den mitgelieferten Port. Sie können es auch mit PythonSimpleHTTPServer
testen! Das war eine tolle Frage! Danke!quelle
Das funktioniert bei mir. Erlaube einfach die 80 von iptables
quelle