

# Configurar nomes de domínio alternativos e HTTPS
<a name="cnames-and-https-procedures"></a>

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.

**Topics**
+ [Receber um certificado SSL/TLS](#cnames-and-https-getting-certificates)
+ [Importar um certificado SSL/TLS](#cnames-and-https-uploading-certificates)
+ [Atualizar a distribuição do CloudFront](#cnames-and-https-updating-cloudfront)

## Receber um certificado SSL/TLS
<a name="cnames-and-https-getting-certificates"></a>

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](https://docs.aws.amazon.com/acm/latest/userguide/). Em seguida, vá para [Atualizar a distribuição do CloudFront](#cnames-and-https-updating-cloudfront).
**nota**  
É recomendável usar 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
<a name="cnames-and-https-uploading-certificates"></a>

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](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) 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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) e a [Referência de comandos da AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/).

## Atualizar a distribuição do CloudFront
<a name="cnames-and-https-updating-cloudfront"></a>

Para atualizar as configurações da sua distribuição, execute o seguinte procedimento:<a name="cnames-and-https-updating-cloudfront-procedure"></a>

**Como configurar sua distribuição do CloudFront para nomes de domínio alternativos**

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. Escolha o ID da distribuição que você deseja atualizar.

1. Na guia **General**, escolha **Edit**.

1. 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](#cnames-and-https-uploading-certificates) para verificar se você carregou corretamente o certificado.   
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.

1. Escolha **Save changes**.

1. 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**.

   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 (Moved Permanently)` junto com o novo URL de 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 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.

   1. Escolha **Yes, Edit**.

   1. 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.

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. 