Ouvrez le port 80 sur le serveur Ubuntu

18

Je commence tout juste sous Ubuntu / Linux et j'ai du mal à ouvrir le port 80 pour les connexions entrantes.

J'ai exécuté la sudo ufw allow 80/tcpcommande, et lorsque j'exécute sudo ufw statusle résultat ressemble à ceci:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)

Cependant, j'obtiens toujours cette erreur lorsque j'essaie de me connecter au port avec cURL.

Impossible de se connecter au port 80 de MY_IP_ADDRESS: connexion refusée

Lorsque j'exécute cette commande netstat -ntlp | grep LISTENpour voir quels ports sont ouverts, j'obtiens ce résultat:

(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      -         

Ce qui ne semble pas si prometteur ..

Comment ouvrir le port 80 pour les connexions entrantes?

Martin
la source

Réponses:

12

Il n'y a pas d'écoute de programme sur le port 80, il est donc fermé et vous ne pouvez pas vous y connecter.

Vous pouvez utiliser

sudo python -m SimpleHTTPServer 80

pour démarrer un simple serveur Web écoutant sur le port 80, ou installer quelque chose comme Apache (package apache2) si vous voulez un serveur Web complet.

Florian Diesch
la source
8

UFW est le pare-feu simple . Il gère quels ports de votre ordinateur peuvent être ouverts pour être écoutés par une application. sudo ufw allow 80/tcpsignifie permettre TCP connexions au port 80 .

Cependant, rien n'écoute réellement derrière le port. Au curlport, il devrait y avoir une application qui enverra une réponse. Il s'agit généralement d'un serveur. Comme les points @Florian, vous pouvez utiliser Python « s SimpleHTTPServerpour le tester.

ps95
la source
est-ce permanent?
Marcelo Filho
5

bien ce qui a fonctionné pour moi était d'utiliser iptable

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
azerafati
la source
2
Notez que ce n'est pas permanent. Réinitialise au redémarrage.
Oliver Dixon
@OliverDixon, oui correct
azerafati
5

Utilisation:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Ensuite, pour l'empêcher de perdre la configuration iptables au redémarrage, utilisez:

sudo apt-get install iptables-persistent
Vitor de Souza
la source
3
Cela aurait été une excellente modification de la réponse datée du 4/2016
Charles Green
2

vous pouvez utiliser sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTce accepte le port quand il configure avec le port pour éviter de perdre cette ligne terminale de code que vous pouvez utiliser sudo apt-get install iptables-persistent La raison de SUDO à beggining d'une commande est de le laisser fonctionner comme super - utilisateur les utilisations persistantes comme une connexion persistante au port fourni. Vous pouvez également utiliser vous pouvez utiliser Python SimpleHTTPServerpour le tester! C'était une excellente question! Merci!

Galien1
la source
0

Cela fonctionne pour moi Just Allow the 80 from iptables

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Akitha_MJ
la source