Porta 80 aberta no servidor Ubuntu

18

Estou apenas começando no Ubuntu / Linux e tenho alguns problemas para abrir a porta 80 para conexões de entrada.

Executei o sudo ufw allow 80/tcpcomando e, quando executo, sudo ufw statuso resultado fica assim:

Status: active

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

No entanto, ainda recebo esse erro ao tentar conectar-me à porta com cURL.

Falha ao conectar-se à porta MY_IP_ADDRESS 80: Conexão recusada

Quando executo este comando netstat -ntlp | grep LISTENpara ver quais portas estão abertas, obtenho 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      -         

O que não parece tão promissor ..

Como abro a porta 80 para conexões de entrada?

Martin
fonte

Respostas:

12

Não há nenhum programa escutando na porta 80, portanto ela está fechada e você não pode se conectar a ela.

Você pode usar

sudo python -m SimpleHTTPServer 80

para iniciar um servidor Web simples que escuta na porta 80 ou instalar algo como Apache (pacote apache2) se você quiser um servidor Web completo.

Florian Diesch
fonte
8

UFW é o firewall não complicado . Ele gerencia quais portas do seu computador podem ser abertas para serem ouvidas por um aplicativo. sudo ufw allow 80/tcpsignifica permitirconexões TCP à porta 80 .

No entanto, não há nada realmente ouvindo atrás do porto. Para curla porta, deve haver um aplicativo que enviará uma resposta. Isso geralmente é chamado de servidor. Como pontos @Florian fora, você pode usar Python é SimpleHTTPServerpara testá-lo.

ps95
fonte
isso é permanente?
Marcelo Filho
5

Bem, o que funcionou para mim foi usar o iptable

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
azerafati
fonte
2
Como nota, isso não é permanente. Reiniciará na reinicialização.
11117 Oliver Dixon
@OliverDixon, sim correto
azerafati
5

Usar:

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

Para evitar que ela perca a configuração do iptables na reinicialização, use:

sudo apt-get install iptables-persistent
Vitor de Souza
fonte
3
Isso teria sido uma ótima edição da resposta de 4/2016
Charles Green
2

você pode usar sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTisso aceita a porta quando ela se configura com a porta para evitar a perda dessa linha de código do terminal. sudo apt-get install iptables-persistent O motivo do sudo no início de um comando é deixá-lo funcionar como superusuário, o persistente o usa como uma conexão persistente. à porta fornecida. Você também pode usar o Python SimpleHTTPServerpara testá-lo! Esta foi uma ótima pergunta! Obrigado!

Galien1
fonte
0

Isso funciona para mim Apenas permita os 80 do iptables

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