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?

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.


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.


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

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

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!


0

Cela fonctionne pour moi Just Allow the 80 from iptables

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.