Configurar nomes de domínio alternativos e HTTPS - Amazon CloudFront

Configurar nomes de domínio alternativos e HTTPS

Para usar nomes de domínio alternativos nos URLs dos seus arquivos e usar HTTPS entre os visualizadores e o CloudFront, execute os procedimentos aplicáveis.

Receber um certificado SSL/TLS

Obtenha um certificado SSL/TLS, se você ainda não tiver um. Para obter mais informações, consulte a documentação aplicável:

  • Para usar um certificado fornecido pelo AWS Certificate Manager (ACM), consulte o Guia do usuário do AWS Certificate Manager. Em seguida, vá para Atualizar a distribuição do CloudFront.

    nota

    É recomendável que você use o ACM para provisionar, gerenciar e implantar os certificados SSL/TLS nos recursos gerenciados da AWS. Você deve solicitar um certificado ACM na região Leste dos EUA (Norte da Virgínia).

  • Para obter um certificado de uma autoridade de certificação (CA) terceirizada, consulte a documentação fornecida por ela. Se você tiver o certificado, continue no próximo procedimento.

Importar um certificado SSL/TLS

Se você obteve seu certificado de uma CA de terceiros, importe-o para o ACM ou faça upload dele no armazenamento de certificados do IAM:

ACM (recomendado)

O ACM permite importar certificados de terceiros pelo console do ACM, bem como de forma programática. Para obter informações sobre como importar um certificado para o ACM, consulte Importação de certificados no AWS Certificate Manager no Guia do usuário do AWS Certificate Manager. Você deve importar o certificado na região Leste dos EUA (Norte da Virgínia).

Armazenamento de certificados do IAM

(Não recomendado) Use o comando da AWS CLI a seguir para carregar o certificado de terceiros no armazenamento de certificados do IAM.

aws iam upload-server-certificate \ --server-certificate-name CertificateName \ --certificate-body file://public_key_certificate_file \ --private-key file://privatekey.pem \ --certificate-chain file://certificate_chain_file \ --path /cloudfront/path/

Observe o seguinte:

  • Conta da AWS: é necessário fazer upload do certificado no armazenamento de certificados do IAM com a mesma conta da AWS usada para criar sua distribuição do CloudFront.

  • Parâmetro --path: ao fazer upload do certificado no IAM, o valor do parâmetro --path (caminho do certificado) deve começar com /cloudfront/, por exemplo, /cloudfront/production/ ou /cloudfront/test/. O caminho deve terminar com "/".

  • Certificados existentes: é necessário especificar valores para os parâmetros --server-certificate-name e --path diferentes dos valores associados aos certificados existentes.

  • Uso do console do CloudFront: o valor especificado para o parâmetro --server-certificate-name na AWS CLI, por exemplo, myServerCertificate, aparece na lista SSL Certificate (Certificado SSL) no console do CloudFront.

  • Uso da API do CloudFront: anote a string alfanumérica retornada pela AWS CLI. Por exemplo, AS1A2M3P4L5E67SIIXR3J. Esse é o valor especificado no elemento IAMCertificateId. O ARN do IAM, que também é retornado pela CLI, não é necessário.

Para obter mais informações sobre a AWS CLI, consulte o Guia do usuário da AWS Command Line Interface e a Referência de comandos da AWS CLI.

Atualizar a distribuição do CloudFront

Para atualizar as configurações da sua distribuição, execute o seguinte procedimento:

Como configurar sua distribuição do CloudFront para nomes de domínio alternativos
  1. Faça login no AWS Management Console e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Escolha o ID da distribuição que você deseja atualizar.

  3. Na guia General, escolha Edit.

  4. Atualize os seguintes valores:

    Nome de domínio alternativo (CNAMEs)

    Selecione Add item (Adicionar item) para adicionar os nomes de domínio alternativos aplicáveis. Separe os nomes de domínio com vírgulas ou digite cada nome de domínio em uma nova linha.

    Certificado SSL personalizado

    Selecione um certificado na lista suspensa.

    Até 100 certificados estão listados aqui. Se você tiver mais de 100 certificados e não estiver visualizando o certificado que quer adicionar, digite um ARN de certificado no campo para escolhê-lo.

    Se você fez o upload de um certificado para o armazenamento de certificados do IAM, mas ele não está listado e você não puder escolhê-lo digitando o nome no campo, revise o procedimento Importar um certificado SSL/TLS para verificar se você carregou corretamente o certificado.

    Importante

    Depois que associar seu certificado SSL/TLS à sua distribuição do CloudFront, não o exclua do ACM nem do armazenamento de certificados do IAM enquanto não removê-lo de todas as distribuições e todas as distribuições sejam implantadas.

  5. Escolha Salvar alterações.

  6. Configurar o CloudFront para exigir HTTPS entre visualizadores e o CloudFront:

    1. Na guia Behaviors, escolha o comportamento de cache que você deseja atualizar e, em seguida, escolha Edit.

    2. Especifique um dos seguintes valores para Viewer Protocol Policy:

      Redirect HTTP to HTTPS

      Os visualizadores podem usar os dois protocolos, mas solicitações HTTP são automaticamente redirecionadas para HTTPS. O CloudFront retorna o código de status HTTP 301 (Moved Permanently) junto com o novo URL de HTTPS. Depois, o visualizador reenvia a solicitação para o CloudFront usando o URL de HTTPS.

      Importante

      O CloudFront não redireciona solicitações DELETE, OPTIONS, PATCH, POST ou PUT de HTTP para HTTPS. Se você configurar um comportamento de cache para redirecionar para HTTPS, o CloudFront responderá a solicitações HTTP DELETE, OPTIONS, PATCH, POST ou PUT desse comportamento de cache com o código de status HTTP 403 (Forbidden).

      Quando um visualizador faz uma solicitação HTTP que é redirecionada para uma solicitação HTTPS, o CloudFront cobra pelas duas solicitações. Para a solicitação HTTP, a cobrança é somente pela solicitação e cabeçalhos retornados pelo CloudFront para o visualizador. Para a solicitação HTTPS, a cobrança é pela solicitação e pelos cabeçalhos e arquivo retornados por sua origem.

      HTTPS Only

      Os visualizadores só podem acessar seu conteúdo se estiverem usando HTTPS. Se um visualizador enviar uma solicitação HTTP, em vez de HTTPS, o CloudFront retornará o código de status HTTP 403 (Forbidden) e não retornará o arquivo.

    3. Escolha Yes, Edit.

    4. Repita as etapas "a" a "c" para cada comportamento de cache adicional para o qual você deseja exigir HTTPS entre os visualizadores e o CloudFront.

  7. Antes de usar a configuração atualizada em um ambiente de produção, confirme:

    • Se o padrão de caminho de cada comportamento de cache se aplica apenas às solicitações nas quais os visualizadores devem usar HTTPS.

    • Se os comportamentos de cache estão listados na ordem em que você deseja que o CloudFront os avalie. Para obter mais informações, consulte Padrão de caminho.

    • Se os comportamentos de cache estão roteando as solicitações para as origens corretas.