Exigir HTTPS para comunicação entre visualizadores e CloudFront - Amazon CloudFront

Exigir HTTPS para comunicação entre visualizadores e CloudFront

É possível configurar um ou mais comportamentos de cache na distribuição do CloudFront para exigir HTTPS para a comunicação entre os visualizadores e o CloudFront. Também é possível configurar um ou mais comportamentos de cache para permitir HTTP e HTTPS, de forma que o CloudFront exija HTTPS de alguns objetos, mas não de outros. As etapas de configuração dependem do nome de domínio sendo usado nos URLs do objeto:

  • Se estiver usando o nome de domínio atribuído pelo CloudFront à distribuição, como d111111abcdef8.cloudfront.net, altere a configuração Viewer Protocol Policy (Política de protocolo do visualizador) de um ou mais comportamentos de cache para exigir comunicação HTTPS. Nessa configuração, o CloudFront fornece o certificado SSL/TLS.

    Para alterar o valor de Viewer Protocol Policy (Política de protocolo do visualizador) usando o console do CloudFront, consulte o procedimento apresentado posteriormente nesta seção.

    Para obter informações sobre como usar a API do CloudFront para alterar o valor do elemento ViewerProtocolPolicy, consulte UpdateDistribution na Referência da API do Amazon CloudFront.

  • Se estiver usando o nome do seu próprio domínio, como example.com, você precisará alterar várias configurações do CloudFront. Você também precisa usar um certificado SSL/TLS fornecido pelo AWS Certificate Manager (ACM) ou importar um certificado de uma autoridade de certificação de terceiros para o ACM ou para o armazenamento de certificados do IAM. Para obter mais informações, consulte Usar nomes de domínio alternativos e HTTPS.

nota

Para garantir que os objetos obtidos pelos visualizadores do CloudFront sejam criptografados na origem, sempre use HTTPS entre o CloudFront e a origem. Se você alterou recentemente de HTTP para HTTPS entre o CloudFront e a origem, recomendamos invalidar os objetos nos pontos de presença do CloudFront. O CloudFront retornará um objeto ao visualizador, independentemente de o protocolo usado por ele (HTTP ou HTTPS) corresponder ou não ao protocolo usado pelo CloudFront para obter o objeto. Para obter mais informações sobre como remover ou substituir objetos em uma distribuição, consulte Adicionar, remover ou substituir conteúdo distribuído pelo CloudFront.

Para exigir HTTPS entre os visualizadores e o CloudFront para um ou mais comportamentos de cache, execute o procedimento a seguir.

Como configurar o CloudFront para exigir HTTPS entre os visualizadores e o CloudFront

  1. Faça login no AWS Management Console e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v3/home.

  2. No painel superior do console do CloudFront, escolha o ID da distribuição que você deseja atualizar.

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

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

    Redirect HTTP to HTTPS

    Os visualizadores podem usar os dois protocolos. Solicitações HTTP GET e HEAD são automaticamente redirecionados para solicitações HTTPS. O CloudFront retorna o código de status HTTP 301 (movido permanentemente) com o novo URL HTTPS. Depois, o visualizador reenvia a solicitação para o CloudFront usando o URL de HTTPS.

    Importante

    Se você enviar POST, PUT, DELETE, OPTIONS ou PATCH por HTTP com um comportamento de cache HTTP para HTTPS e a versão do protocolo de solicitação HTTP 1.1 ou superior, o CloudFront redirecionará a solicitação para um local HTTPS com um código de status HTTP 307 (redirecionamento temporário). Isso garante que a solicitação seja enviada novamente para o novo local usando o mesmo método e carga do corpo.

    Se você enviar solicitações POST, PUT, DELETE, OPTIONS ou PATCH por HTTP para comportamento de cache HTTPS com a versão do protocolo de solicitação inferior a HTTP 1.1, o CloudFront retornará um código de status HTTP 403 (proibido).

    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 objeto 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 (proibido) e não retornará o objeto.

  5. Escolha Yes, Edit.

  6. Repita as etapas 3 a 5 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.