Como redirecionar seu site para https atrás de um balanceador de carga da AWS

Como redirecionar seu site para https atrás de um balanceador de carga da AWS

Nas instâncias da AWS EC2, seu servidor da web está ouvindo na porta 80 para aceitar conexões HTTP. Posteriormente, você configurou o Amazon Elastic Load Balancer (ELB) para ouvir o tráfego HTTP e HTTPS e encaminhar todas as solicitações para o servidor de back -end apenas na porta 80. O Amazon Elastic Load Balancer (ELB) suporta o X-forwarded-proto Valor do cabeçalho, que inclui o protocolo do aplicativo.

O X-forwarded-proto O valor do cabeçalho da solicitação HTTP é usado neste tutorial e as regras de reescrita são aplicadas se o protocolo do cliente não for https.

Aqui está como forçar um redirecionamento para o HTTPS por trás do AWS ELB usando servidores Web Apache, Nginx ou IIS.

1. Apache

Adicionando uma regra de redirecionamento HTTPS ao seu Apache VirtualHost ou .O arquivo htaccess é uma maneira fácil de redirecionar todo o tráfego para o seu site para usar o HTTPS. Você pode fazer isso adicionando o seguinte código ao seu virtualhost ou .Arquivo HTACCESS:

RewriteEngine on RewritOnd %http: x-forwarded-proto !https rewriture ^.*$ https: //%server_name%request_uri
123 RewriteEngine on RewritOnd %http: x-forwarded-proto !https rewriture ^.*$ https: //%server_name%request_uri

O código acima é um exemplo de uma regra de redirecionamento HTTPS que pode ser adicionada a um .arquivo htaccess. Quando essa regra é adicionada, verifica se o cabeçalho X-forwarded-proto não está definido como HTTPS e, se não for, redireciona todo o tráfego para usar HTTPS usando o %server_name e %request_uri variáveis. Isso é útil em cenários em que o site está por trás de um balanceador de carga ou um proxy, e o cabeçalho X-forwarded-proto é usado para passar informações sobre o protocolo do cliente para o servidor. Adicionando este código ao seu .Arquivo Htaccess, todo o tráfego para o seu site será redirecionado para usar HTTPS, garantindo que seu site seja seguro e criptografado.

2. Nginx

Edite o bloco do servidor HTTP nginx para que seu domínio configure o redirecionamento de força. Adicione o seguinte conteúdo no bloco de localização para redirecionar todo o tráfego HTTP para HTTPS.

localização / if ($ http_x_forwarded_proto != 'https') rewrite ^ https: // $ host $ request_uri? permanente;
1234 localização / if ($ http_x_forwarded_proto != 'https') rewrite ^ https: // $ host $ request_uri? permanente;

A configuração do NGINX acima é um exemplo de uma regra de redirecionamento HTTPS que pode ser adicionada a um bloco de localização no arquivo de configuração nginx. Quando essa regra é adicionada, verifica se o cabeçalho X-forwarded-proto não está definido como HTTPS e, se não for, ele usa a diretiva de reescrita para redirecionar todo o tráfego para usar HTTPS usando as variáveis ​​$ host e $ request_uri. A instrução IF é usada para verificar a variável http_x_forwarded_proto, que é definida como https quando a conexão é segura. Ao adicionar este código ao seu arquivo de configuração nginx, todo o tráfego para o seu site será redirecionado para usar https, garantindo que seu site seja seguro e criptografado.

3. Iis

Os servidores do Windows com o IIS Web Server editão ou criam o rede.Config Arquive e adicione o seguinte código na seção:

1234567891011

Conclusão

Seguindo estas quatro etapas, você pode redirecionar seu site facilmente para HTTPS por trás de um balanceador de carga da AWS. Com um certificado SSL/TLS, configuração de balanceador de carga, redirecionar a criação de regras e atualização de registro DNS, você pode garantir que todo o tráfego para o seu site seja criptografado e seguro.