AWS: Redirecionar um subdomínio para outro (http e https)

2

Durante um lançamento de produção, eu preciso de um subdomínio, beta.foo.bar.com, para começar a redirecionar todas as solicitações para foo.bar.com.

A AWS sugere o uso de um bucket do S3 configurado para hospedagem de site estática e configurado para redirecionar todas as solicitações para outro domínio. Isso funciona bem para http, mas os pedidos de https para o tempo limite de beta.foo.bar.com, já que o S3 não consegue lidar com https.

Ambos os registros DNS são as distribuições A Aliases to CloudFront, que, por sua vez, têm seus próprios registros CNAME, que apontam para os ELBs. Isso foi criado por alguém que agora se foi e confesso que ainda não sei o suficiente sobre as distribuições / origens do CloudFront. Existe alguma combinação possível de distribuição / origem / CNAME do CloudFront que possa lidar com o redirecionamento http, https, e ?

Nota: o aplicativo em si pode receber http, mas reescreve para https com uma ebextensão; pode ser possível fazer o redirecionamento acontecer lá, mas eu prefiro muito mais resolvê-lo na AWS.

    
por adion 13.01.2018 / 23:18

3 respostas

0

Obrigado a todos pela ajuda. Acontece que isso é extremamente simples. Tudo o que precisei fazer foi, na distribuição do CloudFront do beta.foo, adicionar o bucket do S3 de redirecionamento como uma origem e editar o comportamento padrão para usar essa origem em vez do endpoint do ELB. Não há necessidade de alterar o DNS ou mesmo forçar http- > https no CloudFront. O redirecionamento entrou em vigor imediatamente, mesmo quando o CloudFront estava sendo reimplantado.

    
por 15.01.2018 / 20:50
1

Eu não gosto de usar muitos truques extravagantes da AWS, então eu tinha acabado de configurar um ALB (e fazer HTTPS) e, em seguida, configurar instâncias do EC2 em um ASG com uma pequena configuração nginx estática que redirecionava para o outro domínio. O benefício dessa abordagem é que ela se aplica quase sem modificação a qualquer outro provedor de nuvem lá fora, pois quando algo mais está determinado a ser o novo hawtness no próximo ano.

Se você está determinado a usar o AWS, no entanto, o IIRC é a abordagem preferencial para o SSL na frente do S3: o SSL é feito pelo CloudFront, que aponta para um bucket S3, que presumivelmente faça o redirecionamento. Eu nunca tentei, então talvez o CloudFront coma o redirecionamento ou faça algo mais inútil, mas provavelmente vale a pena tentar.

    
por 14.01.2018 / 00:12
0

Isso é muito simples de implementar.

  1. Para o CloudFront, verifique se o certificado SSL que você está usando tem dois nomes de domínio. Caso contrário, regenere-o e conecte-se às duas distribuições do CloudFront.
  2. Aguarde enquanto o CloudFront se reconfigura.
  3. Teste novamente se os dois domínios ainda funcionam corretamente.
  4. No Route 53 (ou seu provedor de DNS) altere o registro ALIAS para beta.foo.bar.com para apontar para a distribuição do CloudFront para foo.bar.com

O DNS demorará um pouco para o mundo atualizar seus registros (vários servidores DNS não seguem o TTL se ele estiver definido), planeje com antecedência.

Teste de outro sistema que nunca esteve em um dos seus nomes de domínio e verifique se tudo funciona enquanto o DNS é atualizado globalmente.

    
por 14.01.2018 / 04:19