Eu hospedo meu site em uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Quero que os usuários se conectem ao meu site via HTTP (porta 80) ou HTTPS (porta 443).
Resolução
Para permitir o tráfego nas portas 80 e 443, configure o grupo de segurança associado e a lista de controle de acesso (ACL) à rede.
Configure as regras do grupo de segurança
Para tráfego HTTP, adicione uma regra de entrada na porta 80 a partir do endereço de origem 0.0.0.0/0.
Para tráfego HTTPS, adicione uma regra de entrada na porta 443 a partir do endereço de origem 0.0.0.0/0.
As regras de entrada anteriores permitem o tráfego de endereços IPv4. Para permitir o tráfego IPv6, adicione regras de entrada nas mesmas portas do endereço de origem ::/0.
Você não precisa modificar as regras de saída do grupo de segurança. Os grupos de segurança têm estado, então eles permitem automaticamente o tráfego de retorno da instância.
O exemplo de configuração a seguir tem regras que permitem tráfego IPv4 e IPv6 nas portas TCP 80 e 443.
Regras de entrada
| Tipo | Protocolo | Intervalo de portas | Origem |
|---|
| 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 |
Observação: verifique se você deve permitir que outras fontes de tráfego, como SSH ou Remote Desktop Protocol (RDP), façam login na instância. Em seguida, certifique-se de que seu grupo de segurança tenha as regras de entrada para permitir o tráfego necessário.
Configure a ACL de rede
A ACL de rede padrão permite todo o tráfego IPv4 de entrada e saída. Se sua Amazon Virtual Private Cloud (Amazon VPC) tiver um bloco CIDR IPv6 associado, a ACL de rede padrão adiciona automaticamente regras para permitir o tráfego IPv6 de entrada e saída. No entanto, se você usar uma ACL de rede personalizada com regras mais restritivas, deve permitir explicitamente o tráfego nas portas 80 e 443.
As ACLs de rede não têm estado, portanto, você deve adicionar regras de entrada e saída para permitir a conexão com seu site.
A configuração a seguir é um exemplo de uma ACL de rede personalizada que permite tráfego nas portas TCP 80 e 443. Use ACLs de rede para todos os recursos em uma sub-rede, não apenas para uma única instância do Amazon EC2. A configuração a seguir bloqueia todo o tráfego de e para recursos na sub-rede, exceto nas portas de destino 80 e 443.
Regras de entrada
| Regra n.º | Tipo | Protocolo | Intervalo de portas | Origem | 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 o tráfego | TUDO | TUDO | ::/0 | NEGAR |
| * | TODO o tráfego | TUDO | TUDO | 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 o tráfego | TUDO | TUDO | ::/0 | NEGAR |
| * | TODO o tráfego | TUDO | TUDO | 0.0.0.0/0 | NEGAR |
Observação: verifique se você deve permitir que outras fontes de tráfego, como SSH ou RDP, façam login na instância. Em seguida, certifique-se de que sua ACL de rede tenha as regras de entrada para permitir o tráfego necessário.
Solucionar erros "connection refused"
O erro "connection refused" ocorre quando a conexão é roteada em uma porta que você não especificou em seu grupo de segurança ou regras da ACL de rede. Por exemplo, o Host A inicia uma conexão TCP com o Host B. Primeiro, o Host A envia um pacote TCP SYN para o Host B. Em seguida, o Host B envia um pacote TCP RST em resposta ao Host A. Se essas solicitações de conexão não ocorrerem na porta especificada, o Host A receberá o erro "connection refused".
Para solucionar esse problema, verifique se o serviço do servidor web está no estado Em execução na instância na porta 80 ou 443.
Solucionar erros "connection timeout"
Se você receber o erro "connection timeout" depois de permitir explicitamente as portas TCP 80 e 443, verifique o firewall do seu sistema operacional (SO). Certifique-se de que o firewall não bloqueie o tráfego TCP de entrada nas portas necessárias.