Abra el puerto 80 en el servidor Ubuntu

Abra el puerto 80 en el servidor Ubuntu

Recién estoy comenzando en Ubuntu/Linux y tengo problemas para abrir el puerto 80 para las conexiones entrantes.

Ejecuté el sudo ufw allow 80/tcpcomando y cuando lo ejecuto sudo ufw statusel resultado se ve así:

Status: active

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

Sin embargo, sigo recibiendo este error al intentar conectarme al puerto con cURL.

No se pudo conectar al puerto MY_IP_ADDRESS 80: conexión rechazada

Cuando ejecuto este comando netstat -ntlp | grep LISTENpara ver qué puertos están abiertos, obtengo este resultado:

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

Lo cual no parece tan prometedor...

¿Cómo abro el puerto 80 para conexiones entrantes?

Respuesta1

No hay ningún programa escuchando en el puerto 80, por lo que está cerrado y no puedes conectarte a él.

Puedes usar

sudo python -m SimpleHTTPServer 80

Para Python-3:

sudo python3 -m http.server 80

para iniciar un servidor web simple escuchando en el puerto 80, o instale algo como Apache (paquete apache2) si desea un servidor web completo.

Respuesta2

UFWes elCortafuegos sin complicaciones. Gestiona qué puertos de su computadora se pueden abrir para escuchar mediante una aplicación. sudo ufw allow 80/tcpsignifica permitirtcpconexiones apuerto 80.

Sin embargo, no hay nada escuchando detrás del puerto. Debe haber una aplicación en curlel puerto que enviará una respuesta. Normalmente se le llama servidor. Como señala @Florian, puedes usarPitónEs SimpleHTTPServerpara probarlo.

Respuesta3

Usar:

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

Luego, para evitar que pierda la configuración de iptables al reiniciar, use:

sudo apt-get install iptables-persistent

Respuesta4

puedes usar sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTesto acepta el puerto cuando se configura con el puerto para evitar perder esta línea de código de terminal. puedes usar sudo apt-get install iptables-persistent La razón para sudo al comienzo de un comando es permitir que se ejecute como superusuario, el persistente lo usa como una conexión persistente al puerto que se suministra. ¡También puedes usar Python SimpleHTTPServerpara probarlo! ¡Esta fue una gran pregunta! ¡Gracias!

información relacionada