

# Exigir HTTPS na comunicação entre o CloudFront e a origem do Amazon S3
<a name="using-https-cloudfront-to-s3-origin"></a>

Quando a origem é um bucket do Amazon S3, as opções para usar HTTPS para comunicação com o CloudFront dependem de como você está usando o bucket. Se o bucket do Amazon S3 estiver configurado como um endpoint de site, não será possível configurar o CloudFront para usar HTTPS para comunicação com a origem, pois o Amazon S3 não é compatível com conexões HTTPS nessa configuração.

Quando a origem é um bucket do Amazon S3 compatível com a comunicação HTTPS, o CloudFront encaminha as solicitações ao S3 usando o protocolo que os visualizadores usaram para enviar as solicitações. A definição padrão da configuração [Protocolo (somente origens personalizadas)](DownloadDistValuesOrigin.md#DownloadDistValuesOriginProtocolPolicy) é **Match Viewer (Corresponder visualizador)** e não pode ser alterada. No entanto, se você habilitar o controle de acesso à origem (OAC) para a origem do Amazon S3, a comunicação usada entre o CloudFront e o Amazon S3 dependerá das configurações. Para obter mais informações, consulte [Criar um controle de acesso à origem](private-content-restricting-access-to-s3.md#create-oac-overview-s3).

Para exigir HTTPS para comunicação entre o CloudFront e o Amazon S3, você deve alterar o valor de **Viewer Protocol Policy (Política de protocolo do visualizador)** para **Redirect HTTP to HTTPS (Redirecionar HTTP para HTTPS)** ou **HTTPS Only (Somente HTTPS)**. O procedimento mais adiante nesta seção explica como usar o console do CloudFront para alterar a **Viewer Protocol Policy (Política de protocolo do visualizador)**. Para informações sobre como usar a API do CloudFront para atualizar o elemento `ViewerProtocolPolicy` de uma distribuição, consulte [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) na *Referência da API do Amazon CloudFront*. 

Quando você usa HTTPS com um bucket do Amazon S3 compatível com a comunicação HTTPS, o Amazon S3 fornece o certificado SSL/TLS, portanto, você não precisa fazer isso.

## Exigir HTTPS para uma origem do Amazon S3
<a name="configure-cloudfront-HTTPS-S3-origin"></a>

O procedimento a seguir mostra como configurar o CloudFront para exigir HTTPS para a origem do Amazon S3.<a name="using-https-cloudfront-to-s3-origin-procedure"></a>

**Como configurar o CloudFront para exigir HTTPS para a origem do Amazon S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

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

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

1. 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 (movido permanentemente) com o novo URL HTTPS. Depois, o visualizador reenvia a solicitação para o CloudFront usando o URL de HTTPS.  
O CloudFront não redireciona solicitações `DELETE`, `OPTIONS`, `PATCH`, `POST` ou `PUT` de HTTP para HTTPS. Se você configurar o redirecionamento de um comportamento de cache para HTTPS, o CloudFront responderá às solicitações HTTP `DELETE`, `OPTIONS`, `PATCH`, `POST` ou `PUT` para esse comportamento de cache com o 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.

1. Escolha **Yes, Edit**.

1. 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, e entre o CloudFront e o S3.

1. 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](DownloadDistValuesCacheBehavior.md#DownloadDistValuesPathPattern).
   + Se os comportamentos de cache estão roteando as solicitações para as origens corretas. 