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

Exigir HTTPS na 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.

Exigir HTTPS de visualizadores

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/v4/home.

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

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

  4. Especifique um dos seguintes valores para Viewer Protocol Policy (Política de protocolo do visualizador):

    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 (Somente HTTPS)

    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 Salvar alterações.

  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.