Por que não consigo me conectar a um site hospedado na minha instância do EC2?
Não consigo me conectar a um site público hospedado na minha instância do Amazon Elastic Compute Cloud (Amazon EC2).
Breve descrição
Para resolver problemas de sites inacessíveis, verifique se você definiu corretamente a configuração do site da sua instância do EC2. Configurações incorretas do servidor da web em sua instância bloqueiam o acesso a todos os sites hospedados nela.
Resolução
Verifique se a instância está em execução e passa pelas duas verificações de status
Verifique no console do Amazon EC2 se a instância está em execução. Para corrigir problemas na verificação de status, consulte Por que minha instância Linux do EC2 está inacessível e apresenta falha nas verificações de status?
Além disso, use a saída do console da instância e uma captura de tela da instância para verificar se a instância é inicializada corretamente.
Verifique o grupo de segurança da instância e a configuração da ACL de rede
Verifique as seguintes configurações da instância:
- O grupo de segurança associado e a lista de controle de acesso à rede (ACL da rede) permitem tráfego nas portas 80 e 443.
- A tabela de rotas na sub-rede da instância tem uma rota padrão para um gateway da internet.
Verifique se o site tem a configuração de DNS correta
Verifique as seguintes configurações de DNS do seu site:
- Se o site usa o serviço DNS do Amazon Route 53, você configurou corretamente os registros DNS.
- Você atribuiu um endereço IP elástico à instância.
Observação: o endereço IP elástico permanece associado à instância mesmo quando você interrompe e execute a instância. - Você mapeou o endereço IP público ou o endereço IP elástico para um registro A.
Verifique se o servidor da web está em execução e se nenhum firewall do sistema operacional bloqueia o acesso às portas
Para verificar a configuração da porta de rede e o servidor da web, conclua as seguintes etapas:
-
Use o SSH ou o Gerenciador de sessões, um recurso do AWS Systems Manager, para se conectar à instância. Se você não puder usar o SSH ou o Gerenciador de sessões para se conectar a instâncias criadas no AWS Nitro System, use o Console de Série do EC2.
-
Para verificar se o site está sendo executado localmente, execute este comando no site de hospedagem de instância do EC2:
curl https://localhost-ou-
curl http://localhost:443Observação: se você encontrar problemas ao usar o curl, verifique se há problemas com o servidor da web e a configuração da aplicação da instância.
-
Para verificar o status de serviço do servidor da web, execute o seguinte comando com base no sistema operacional (SO) que você executa.
Red Hat Enterprise Linux (RHEL), CentOS, Fedora e Amazon Linux:sudo systemctl status httpd.serviceExemplo de saída:
The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: inactive (dead)Debian e Ubuntu:
sudo systemctl status apache2.serviceExemplo de saída:
The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset: disabled) Active: inactive (dead)Na saída do comando, verifique o status inativo (morto).
Se seus sistemas Linux executarem o System V, execute o seguinte comando para verificar o status do servidor da web:sudo service httpd statusObservação: se você executa o Debian ou o Ubuntu, substitua httpd pelo apache2.
Exemplo de saída:httpd is stopped -
Para iniciar o servidor da web e configurar o serviço para iniciar na inicialização, execute os seguintes comandos com base no seu sistema operacional:
RHEL, CentOS, Fedora e Amazon Linux:sudo systemctl start httpd; sudo systemctl enable httpdDebian ou Ubuntu:
sudo systemctl start apache2; sudo systemctl enable apache2 -
Para verificar se o serviço do servidor da web está em execução e ativado, execute os seguintes comandos com base no seu sistema operacional:
RHEL, CentOS, Fedora e Amazon Linux:sudo systemctl status httpd.serviceExemplo de saída:
The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running)Debian ou Ubuntu:
sudo systemctl status apache2.serviceExemplo de saída:
The Apache HTTP ServerLoaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running)Para iniciar um serviço do servidor da web interrompido para sistemas executados no System V, execute o seguinte comando:
sudo service httpd startExemplo de saída:
Starting httpd: [ OK ] -
Para confirmar se o servidor da web está atento às solicitações de conexão de entrada do usuário, execute o seguinte comando:
sudo netstat -tulpn|grep -i :80 tcp6 0 0 :::80 :::* LISTEN 11993/httpdObservação: execute o comando anterior duas vezes. Na segunda vez, substitua 80 por 443. Os servidores da web escutam tráfego HTTP nas portas 80 e 443 para tráfego criptografado com TLS/SSL.
Se você executar várias interfaces, execute o comando a seguir para confirmar se o servidor da web está escutando em todos os endereços IP:cat /etc/httpd/conf/httpd.conf | grep ListenExemplos de saídas:
Listen *:80Listen *:443 -
Se você usa um firewall de sistema operacional, certifique-se de que ele permita solicitações nas portas 80 e 443.
-
(Opcional) Para verificar se as regras de iptables permitem solicitações de entrada nas portas 80 e 443, execute o seguinte comando:
sudo iptables -vnLExemplo de saída:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 35 10863 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedNo exemplo de saída anterior, as regras permitem somente o Protocolo de mensagens de controle de internet (ICMP), localhost e porta 22/TCP (SSH). As regras bloqueiam conexões de entrada para a porta TCP 80 ou 443.
-
Para configurar as regras de iptables para permitir que as portas 80 e 443 aceitem solicitações de conexão HTTP e HTTPS de entrada, execute o seguinte comando:
iptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPTExemplo de saída:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 486 104K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Verifique as configurações para AL2023, AL2 e RHEL 7 e versões posteriores
Para instâncias Amazon Linux 2023 (AL2023), Amazon Linux 2 (AL2) e RHEL, execute o seguinte comando para verificar se o serviço firewalld está em execução:
sudo firewall-cmd --state
Exemplo de saída:
running
Se o serviço firewalld estiver em execução, execute os seguintes comandos para permitir conexões nas portas TCP 80 e 443:
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
Observação: se você adicionou regras anteriormente, o comando reload recarrega o serviço e coloca as regras em vigor.
Para cada comando, verifique se a saída é semelhante ao exemplo a seguir:
success
Verifique as configurações dos servidores Debian e Ubuntu
Conclua as etapas a seguir:
-
Para verificar se há um Firewall descomplicado (UFW), execute o seguinte comando:
sudo ufw status verboseExemplo de saída:
Status: active -
Se você estiver executando um UFW, use o comando a seguir para permitir solicitações de conexão de entrada nas portas TCP necessárias:
Porta TCP 80:sudo ufw allow in 80/tcpPorta TCP 443:
sudo ufw allow 443/tcp -
Para cada comando, verifique se a saída é semelhante ao exemplo a seguir:
Rule added Rule added (v6)
Para solucionar problemas adicionais, verifique se há problemas nos logs de erros de acesso ao servidor web em /var/log. Use os seguintes locais de log padrão do servidor da web:
- Para Amazon Linux e RHEL, use /var/log/httpd.
- Para Debian e Ubuntu, use /var/log/apache2.
Observação: a localização do log do servidor web depende da configuração do seu servidor.
Informações relacionadas
Como solucionar problemas de conexões lentas com um site hospedado na minha instância do EC2?
- Tópicos
- Compute
- Tags
- Amazon EC2Linux
- Idioma
- Português
Vídeos relacionados


Conteúdo relevante
feita há um ano
feita há um ano
feita há 2 anos