
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/tcp
comando e quando executo sudo ufw status
o 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 LISTEN
para 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?
Responder1
Não há nenhum programa escutando na porta 80, então ela está fechada e você não pode se conectar a ela.
Você pode usar
sudo python -m SimpleHTTPServer 80
Para Python-3:
sudo python3 -m http.server 80
para iniciar um servidor web simples escutando na porta 80 ou instale algo como o Apache (pacote apache2
) se desejar um servidor web completo.
Responder2
UFWé oFirewall descomplicado. Ele gerencia quais portas do seu computador podem ser abertas para escuta por um aplicativo. sudo ufw allow 80/tcp
significa permitirTCPconexões paraporta 80.
No entanto, não há nada realmente escutando atrás da porta. No curl
porto deverá haver um aplicativo que enviará uma resposta. Isso normalmente é chamado de servidor. Como aponta @Florian, você pode usarPitãoé SimpleHTTPServer
para testá-lo.
Responder3
Usar:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Então, para evitar que ele perca a configuração do iptables na reinicialização, use:
sudo apt-get install iptables-persistent
Responder4
vocêpoderáusar sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
isto aceita a porta quando ele configura com a porta para evitar a perda desta linha de código do terminal que vocêpoderáusar sudo apt-get install iptables-persistent
A razão para o sudo no início de um comando é deixá-lo rodar como superusuário o persistente usa-o como uma conexão persistente para a porta que é fornecida. Você também pode usar o Python SimpleHTTPServer
para testá-lo! Esta foi uma ótima pergunta! Obrigado!