Abra a porta 80 no servidor Ubuntu

10

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

Eu executei o comando sudo ufw allow80/tcp e, quando executo sudo ufw status , o resultado é 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 o curl.

  

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

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

que não parece tão promissor.

Como faço para abrir a porta 80 para conexões de entrada?

    
por martin 09.07.2015 / 10:02

5 respostas

7

Não há nenhum programa escutando na porta 80, então ele está fechado e você não pode se conectar a ele.

Você pode usar

sudo python -m SimpleHTTPServer 80

para iniciar um servidor da Web simples que atenda na porta 80 ou instale algo como o Apache (pacote apache2 ), se desejar um servidor da Web completo.

    
por Florian Diesch 09.07.2015 / 10:42
7

UFW é o Firewall Descomplicado . Ele gerencia quais portas do seu computador podem ser abertas para escutar por um aplicativo. sudo ufw allow 80/tcp significa permitir conexões TCP para porta 80 .

No entanto, não há nada realmente escutando atrás da porta. Para curl da porta, deve haver um aplicativo que enviará uma resposta. Isso geralmente é chamado de servidor. Como @Florian aponta, você pode usar o SimpleHTTPServer do Python para testá-lo.

    
por prakharsingh95 09.07.2015 / 11:02
3

bem, o que funcionou para mim foi usar o iptable

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
por azerafati 31.05.2016 / 08:06
1

Uso:

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

Em seguida, para evitar que ele perca a configuração do iptables ao reiniciar, use:

sudo apt-get install iptables-persistent
    
por Vitor de Souza 08.07.2017 / 02:20
0

você pode usar sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT isto aceita a porta quando ela se configura com a porta para evitar perder esta linha de terminal do código que você pode usar sudo apt-get install iptables-persistent A razão para o sudo no início de um comando é permitir que ele seja executado como superusuário. O persistente o utiliza como uma conexão persistente com a porta que é fornecida. Você também pode usar, você pode usar o SimpleHTTPServer do Python para testá-lo! Essa foi uma ótima pergunta! Obrigado!

    
por Galien1 08.07.2017 / 04:26