Incompatibilidade de certificado ao configurar Route53, CloudFront, origem personalizada

1

Plano de fundo

Meus sites têm usado CloudFlare com Let's Encrypt com sucesso por um ano ou dois. Os sites estão hospedados no EC2, eles têm certificados válidos Let's Encrypt para a raiz, www e todos os subdomínios usados. O site é executado pelo Wordpress.

O que estou fazendo

Como um exercício de aprendizado, decidi alterar um dos meus domínios, wildphotography.co.nz, para Route53 e CloudFront. Não correu bem.

O problema

Depois de migrar do CloudFlare para o Route53 com o CloudFront, não consigo visualizar meu site. Detalhes abaixo. Meu estado final desejado é que o Route53 seja meu servidor DNS e o CloudFront seja meu CDN.

Note que voltei ao CloudFlare, porque preciso que meu site esteja on-line. Eu tinha o Route53 como meu servidor DNS por 3-4 horas, e pude ver que ele estava resolvido para o R53.

Detalhes do problema

Depois de configurar as coisas, aqui está o problema que vejo no meu navegador

DevidoàconfiguraçãodoRoute53,asolicitaçãoparaodomínioestásendoenviadaparaoCloudFront.OcertificadoapresentadopeloCloudFrontéparaodomínio*.cloudfront.net.Daíaincompatibilidade.Acreditoqueentendioproblema,masnãoconsigodescobrircomoresolvê-lo.

SeeuforparaoURLdoCloudfront(d1b5f3w2vf82yc.cloudfront.net),receboesteerro.Obviamente,irparaesseURLnormalmentenãoseriaútil.

AquiestáumdiagnósticoSSL

AquiestáminhaconfiguraçãodoCloudFront.Notequeeutireiumascreenshotdepoisquemudeialgomenor,eéporissoqueelamostra"em progresso". Deixei que se propagasse antes de testá-lo.

Primeiro a visão geral do CloudFront

ConfiguraçõesdeorigemdoCloudFront

ComportamentoraizdoCloudFront

ObservequeeuencaminhodehttpparahttpsnomeuservidordaWebNginx,porissonãomeincomodoemfazercomqueoCloudFrontofaça.Issomedáinformaçõesadicionaisemmeusregistros,úteisparaodiagnóstico.

ConfiguraçãodoRoute53

Euremovialgunsregistrosirrelevantesrelacionadosae-mail.ObservequeosdomínioswwwenãowwwsãoregistrosdealiasapontandoparaadistribuiçãodoCloudFront.Elenãoaceitaumapelidocname-nãotenhocertezaseessaéumacombinaçãoválida.

O que eu tentei

Eu criei um novo subdomínio, origin.wildphotography.co.nz, que é um nome para www.wildphotography.co.nz. Eu acredito que isso é necessário para que o CloudFront possa encontrar o IP do servidor de origem.

Já experimentei CNAMEs, Alias e não Alias, todos os tipos de coisas.

Uma coisa estranha, é quando ainda estava configurado com o R53 / CloudFront, algumas solicitações estavam passando pelo CloudFront. Não muitos, mas alguns.

Qualquer ideia seria apreciada. Eu suspeito que eu tenho Route53 configurado de alguma forma incorretamente.

    
por Tim 20.04.2017 / 10:21

2 respostas

1

Antes de tudo, você precisa fazer o upload do seu certificado SSL personalizado para o Cloudfront para evitar problemas durante a validação do SSL. Se você não fizer o upload de um certificado personalizado válido para o nome do seu site, a Cloudfront oferece um certificado válido somente para o seu próprio domínio cloudfront.net.

Depois, você precisa de alguns registros em sua zona DNS no Route53:

  • Os registros de sites públicos ("www" e apex ) devem apontar para sua distribuição do Cloudfront.
  • Outro registro auxiliar (por exemplo, "origem") é necessário para a configuração da origem da Cloudfront, pois o Cloudfront não permite origens de IP. Este registro auxiliar deve apontar para o seu servidor web real. É importante que você configure sua distribuição para encaminhar o cabeçalho do host para permitir que seu servidor da Web exiba o conteúdo correto.

Com essa configuração, seus clientes são encaminhados para a Cloudfront por meio de seus registros www / apex, e a Cloudfront localiza o servidor da web real por meio do registro de origem. O Clodflare poupa você de implementar toda essa lógica porque você delega seu DNS a eles, mas na verdade é isso que eles fazem em segundo plano quando você ativa o recurso CDN no seu painel DNS.

    
por 20.04.2017 / 15:03
1

Observe que você também pode obter um certificado da AWS por meio do ACM sem nenhum custo extra. O certificado obtido pode ser implantado no CloudFront para o seu domínio. Para obter detalhes, visite o link e leia a postagem no blog - link

    
por 20.04.2017 / 17:26