Hospedo um site em uma instância do EC2. Como permitir que meus usuários se conectem via HTTP (80) ou HTTPS (443)?

Data da última atualização: 26/09/2022

Hospedo meu site em uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Quero que os usuários se conectem a meu site via HTTP (porta 80) ou HTTPS (porta 443). Como posso fazer isso?

Resolução

Para permitir tráfego via portas 80 e 443, é necessário configurar o grupo de segurança associado e a lista de controle de acesso da rede (ACL da rede).

Regras de grupos de segurança

Para tráfego HTTP, adicione uma regra de entrada via porta 80 do endereço de origem 0.0.0.0/0.

Para tráfego HTTPS, adicione uma regra de entrada via porta 443 do endereço de origem 0.0.0.0/0.

Essas regras de entrada permitem tráfego de endereços IPv4. Para permitir tráfego IPv6, adicione regras de entrada nas mesmas portas do endereço de origem ::/0. Para obter mais informações sobre como criar ou modificar grupos de segurança, consulte Controlar o tráfego para recursos usando grupos de segurança.

Os grupos de segurança têm estado, então o tráfego de retorno da instância para usuários é permitido automaticamente. Não é necessário modificar as regras de saída do grupo de segurança.

Observação: o exemplo a seguir mostra as regras de grupo de segurança para permitir o tráfego IPv4 e IPv6 nas portas TCP 80 (HTTP) e 443 (HTTPS). Determine se outras fontes de tráfego, como SSH ou RDP, para fazer login na instância, devem ser permitidas para o seu caso de uso. Em seguida, certifique-se de que seu grupo de segurança tenha as regras de entrada relevantes para permitir o tráfego necessário.

Regras de entrada

Tipo Protocolo Intervalo de portas Fonte
HTTP (80) TCP (6) 80 0.0.0.0/0
HTTP (80) TCP (6) 80 ::/0
HTTPS (443) TCP (6) 443 0.0.0.0/0
HTTPS (443) TCP (6) 443 ::/0

ACL de rede

A ACL de rede padrão permite todo tráfico IPv4 de entrada e saída. Caso seus usuários se conectem por IPv6 e sua Amazon Virtual Private Cloud (Amazon VPC) tenha um bloco CIDR IPv6 associado, sua ACL de rede padrão também adicionará automaticamente regras que permitem todo tráfego de entrada e saída IPv6. Porém, se você usar uma ACL de rede com regras mais restritivas, será necessário permitir o tráfego expressamente nas portas 80 e 443.

ACLs de rede não têm estado e, por isso, é necessário adicionar regras de entrada e de saída para permitir a conexão com o seu site. Para obter mais informações sobre como modificar regras de ACL de rede, consulte Controlar o tráfego para sub-redes usando ACLs de rede.

Observação: o exemplo a seguir mostra uma ACL de rede personalizada que permite o tráfego nas portas TCP 80 (HTTP) e 443 (HTTPS). ACLs de rede são aplicadas a todos os recursos em uma sub-rede inteira, e não apenas a uma única instância do EC2. Na configuração de exemplo, todo o tráfego de e para recursos na mesma sub-rede é bloqueado, exceto nas portas de destino 80 e 443. Determine se outras fontes de tráfego, como SSH ou RDP, para fazer login na instância, devem ser permitidas para o seu caso de uso. Em seguida, verifique se você tem as regras de entrada relevantes para permitir o tráfego necessário.

Regras de entrada

Regra n.º Tipo Protocolo Intervalo de portas Fonte Permitir/negar
100 HTTP (80) TCP (6) 80 0.0.0.0/0 PERMITIR
101 HTTPS (443) TCP (6) 443 0.0.0.0/0 PERMITIR
102 HTTP (80) TCP (6) 80 ::/0 PERMITIR
103 HTTPS (443) TCP (6) 443 ::/0 PERMITIR
* TODO tráfego TODO TODO ::/0 NEGAR
* TODO tráfego TODO TODO 0.0.0.0/0 NEGAR

Regras de saída

Regra n.º Tipo Protocolo Intervalo de portas Destino Permitir/negar
100 Regra TCP personalizada TCP (6) 1024-65535 0.0.0.0/0 PERMITIR
101 Regra TCP personalizada TCP (6) 1024-65535 ::/0 PERMITIR
* TODO tráfego TODO TODO ::/0 NEGAR
* TODO tráfego TODO TODO 0.0.0.0/0 NEGAR

Solução de um erro de conexão recusada

Um erro de conexão recusada significa que a solicitação de conexão é roteada para a instância, mas não é recebida do serviço na porta especificada. Se o Host A iniciar uma conexão TCP com o Host B e receber um erro de conexão recusada, esse erro significará o seguinte:

  • Primeiro, o Host A enviou um pacote TCP SYN ao Host B.
  • Em seguida, o Host B enviou um pacote TCP RST em resposta ao Host A.

Se você encontrar esse erro, mesmo depois de permitir as portas TCP 80 e 443 no grupo de segurança e na ACL da rede, solucione o seguinte:

  • O daemon de serviço, como httpd (Apache), não está sendo executado ou está em estado parado.

Para solucionar problemas, verifique se o serviço está em execução na instância do EC2.

  • O serviço está escutando em uma porta errada.

Para solucionar problemas, verifique se a instância do EC2 está escutando na porta TCP necessária (80/443).

  • A porta está bloqueada por um firewall.

Para solucionar problemas, verifique se um firewall no nível do sistema operacional na instância do EC2 está bloqueando o tráfego TCP de entrada na porta necessária.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?