Balanceamento de carga SSL e Elastic Beanstalk

DNS para balanceamento de carga EC2 / Elastic Beanstalk

Porque a instância do EC2 e do Elastic Beanstalk aplicará o balanceador de carga, de forma que nenhum endereço IP estático seja atribuído.
Portanto, a única opção válida é criar cname “www” que opte para o URL de balanceamento de carga de instancias do EC2.
No entanto, se você quiser alterar o domínio do nível raiz, a maioria dos provedores de DNS não permitirá que você faça isso, porque a URL não é um endereço IP válido. Alguns provedores de DNS permitem que você crie @ cname e aponte para ‘app.url’

Como alternativa, você pode usar o AWS Router 53. O Roteador 53 ajuda a criar uma zona hospedada que define conjuntos de registros.
Portanto, você pode criar um “Alias” www ou raiz e apontar para o Load Balancer.

HTTPS SSL na AWS

  1. Carregue o Cert to EC2 Load Balancer.
  2. No grupo de segurança, permita a entrada de HTTPS 443 de qualquer origem.

AWS Health Check

A Verificação de integridade executará ping / verificará automaticamente o balanceador de carga de destino, se o tempo limite for repetido, enviará um e-mail e indicará que a instância não está disponível, portanto, o balanceador de carga será removido automaticamente.
Para fins de depuração.
1. Crie o arquivo robots.txt na raiz do documento.
2. No AWS Load Balancer, altere a verificação de Heath para HTTP: 80 target em /robot.txt, também altere o tempo para 5 minutos

AWS Load Balancer e nós da Web

Como os nós da web aceitam apenas o tráfego da porta 80, o Load Balancer aceita o tráfego de HTTP: 80 / HTTPS: 443 e encaminha para a porta 80 do nó da web.

Portanto, o tradicional

RewriteCond %{HTTPS}  on  #is not working
RewriteCond %{Server_Port} 80 #is not working, will generate error "too many redirects"

Apache config / .htaccess

A AWS introduziu um novo manipulador para verificar o protocolo https encaminhado.

#enable ssl
RewriteCond %{HTTP:X-Forwarded-Proto} !=https #works
RewriteRule (.*) https://%{SERVER_NAME}/$1 [last]

RewriteCond %{HTTP:X-Forwarded-Proto} !=https #works
RewriteCond %{REQUEST_URI} !/^events [or]
RewriteCond %{REQUEST_URI} !/^events [or]
RewriteRule (.*) https://%{SERVER_NAME}/$1 [last]