AWS Cloudfront + Load Balancer, o URL muda do domínio principal para o subdomínio do balanceador de carga

4

Minha configuração é a seguinte:

  1. o usuário digita example.com no navegador
  2. a solicitação vai para o AWS CloudFront, que redireciona HTTP para HTTPS e encaminha a solicitação ao AWS Elastic LoadBalancer (elb.example.com)
  3. O LoadBalancer encaminha a solicitação para a instância do EC2 que está executando o PHP Estrutura Laravel
  4. O EC2 responde normalmente
  5. o usuário visualiza a página corretamente em example.com com tudo mais transparente para ele

Tudo isso é perfeitamente o que eu quero, NO ENTANTO .....

  • Se o usuário navegar para qualquer botão da página, o URL no navegador se tornará elb.example.com (deve ficar example.com)
  • Se eu for ver a fonte da página, todos os links para qualquer botão na página tem o URL base de elb.example.com (deve ser example.com)

O motivo é que o EC2 vê a solicitação proveniente do balanceador de carga, de forma que ela pressupõe que a URL base seja elb.example.com e gere todos os links de acordo.

Como o EC2 vê o URL base como example.com?

    
por Dv_MH 09.07.2016 / 01:21

1 resposta

3

Esse comportamento provavelmente resulta do fato de que, por padrão, o CloudFront define o cabeçalho de solicitação Host: HTTP como o nome de host de origem, neste caso, elb.example.com. A aplicação, então, presumivelmente, gera links com base nesse nome de host.

Se, em vez disso, você configurar o CloudFront para whitelist esse cabeçalho para encaminhamento para a origem, o cabeçalho do host enviado pelo navegador (example.com) será enviado para o aplicativo pelo CloudFront, portanto, o aplicativo deve se comportar mais como você esperaria e usaria esse valor ao gerar os links. Com isso, o CloudFront ainda usa o nome de host do servidor de origem para fazer a pesquisa de DNS necessária para estabelecer a conexão TCP com a origem (o ELB nesse caso), mas para injetar esse nome de host nos cabeçalhos de solicitação HTTP.

link

Isso foi respondido por @ michael-sqlbot em SO

    
por 13.07.2016 / 17:03