

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de cabeçalhos personalizados para uma aplicação do Amplify
<a name="custom-headers"></a>

Os cabeçalhos HTTP personalizados possibilitam que você especifique cabeçalhos para todas as respostas HTTP. Os cabeçalhos de resposta podem ser usados para fins de depuração, segurança e informativos. É possível especificar cabeçalhos no console do Amplify, ou baixando e editando o arquivo `customHttp.yml` de uma aplicação e salvando-o no diretório raiz do projeto. Para ver os procedimentos detalhados, consulte [Configuração de cabeçalhos personalizados](setting-custom-headers.md).

Anteriormente, cabeçalhos HTTP personalizados eram especificados para uma aplicação editando-se a especificação de compilação (buildspec) no consolde do Amplify ou baixando e atualizando o arquivo `amplify.yml` e salvando-o no diretório raiz do projeto. Recomendamos fortemente a migração dos cabeçalhos personalizados especificados dessa forma para fora do buildspec e do arquivo `amplify.yml`. Para instruções, consulte [Migração de cabeçalhos personalizados para fora da especificação de compilação e amplify.yml](migrate-custom-headers.md).

**Topics**
+ [Referência de YAML de cabeçalho personalizado](custom-header-YAML-format.md)
+ [Configuração de cabeçalhos personalizados](setting-custom-headers.md)
+ [Migração de cabeçalhos personalizados para fora da especificação de compilação e amplify.yml](migrate-custom-headers.md)
+ [Requisitos de cabeçalho personalizado monorepo](monorepo-custom-headers.md)

# Referência de YAML de cabeçalho personalizado
<a name="custom-header-YAML-format"></a>

Especifique cabeçalhos personalizados usando o seguinte formato YAML:

```
customHeaders:
  - pattern: '*.json'
    headers:
    - key: 'custom-header-name-1'
      value: 'custom-header-value-1'
    - key: 'custom-header-name-2'
      value: 'custom-header-value-2'
  - pattern: '/path/*'
    headers:
    - key: 'custom-header-name-1'
      value: 'custom-header-value-2'
```

Para um monorepo, use o seguinte formato YAML:

```
applications:
  - appRoot: app1
    customHeaders:
    - pattern: '**/*'
      headers:
      - key: 'custom-header-name-1'
        value: 'custom-header-value-1'
  - appRoot: app2
    customHeaders:
    - pattern: '/path/*.json'
      headers:
      - key: 'custom-header-name-2'
        value: 'custom-header-value-2'
```

Ao adicionar cabeçalhos personalizados ao seu aplicativo, você especificará seus próprios valores para o seguinte:

**pattern**  
Os cabeçalhos personalizado são aplicados a todos os caminhos de arquivo de URL que correspondam ao padrão.

**headers**  
Defina cabeçalhos que correspondem ao padrão de arquivo.

**key**  
O nome do cabeçalho personalizado.

**valor**  
O valor do cabeçalho personalizado.

Para saber mais sobre cabeçalhos HTTP, consulte a lista de [cabeçalhos HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers) da Mozilla.

# Configuração de cabeçalhos personalizados
<a name="setting-custom-headers"></a>

Há duas formas de se especificar cabeçalhos HTTP personalizados para uma aplicação do Amplify. É possível especificar cabeçalhos no console do Amplify ou especificar cabeçalhos baixando e editando o arquivo `customHttp.yml` de uma aplicação e salvando-o no diretório raiz do seu projeto.

**Para definir cabeçalhos personalizados para uma aplicação e salvá-los no console**

1. Faça login no Console de gerenciamento da AWS e abra o console do [Amplify](https://console.aws.amazon.com/amplify/).

1. Escolha o aplicativo para o qual definir cabeçalhos personalizados.

1. No painel de navegação, escolha **Hospedagem** e, em seguida, escolha **Cabeçalhos personalizados**.

1. Na página **Cabeçalhos personalizados**, escolha **Editar**.

1. Na janela **Editar cabeçalhos personalizados**, insira as informações dos seus cabeçalhos personalizados usando o [formato YAML de cabeçalho personalizado](custom-header-YAML-format.md).

   1. Para `pattern`, insira o padrão a ser correspondente.

   1. Para `key`, insira o nome do cabeçalho personalizado.

   1. Para `value`, insira o valor do cabeçalho personalizado.

1. Escolha **Salvar**.

1. Reimplante o aplicativo para aplicar os novos cabeçalhos personalizados.
   + Para um CI/CD aplicativo, navegue até a ramificação para implantar e escolha **Reimplantar esta versão**. É possível também realizar uma nova compilação a partir do seu repositório Git.
   + Para um aplicativo de implantação manual, implante o aplicativo novamente no console do Amplify.

**Para definir cabeçalhos personalizados para uma aplicação e salvá-los na raiz do seu repositório**

1. Faça login no Console de gerenciamento da AWS e abra o console do [Amplify](https://console.aws.amazon.com/amplify/).

1. Escolha o aplicativo para o qual definir cabeçalhos personalizados.

1. No painel de navegação, escolha **Hospedagem** e, em seguida, escolha **Cabeçalhos personalizados**.

1. Na página **Cabeçalhos personalizados**, escolha **Baixar YML**.

1. Abra o arquivo `customHttp.yml` baixado no editor de código de sua preferência e insira as informações dos cabeçalhos personalizados usando o formato [YAML do cabeçalho personalizado](custom-header-YAML-format.md).

   1. Para `pattern`, insira o padrão a ser correspondente.

   1. Para `key`, insira o nome do cabeçalho personalizado.

   1. Para `value`, insira o valor do cabeçalho personalizado.

1. Salve o arquivo `customHttp.yml` editado no diretório raiz do seu projeto. Se você estiver trabalhando com um monorepo, salve o arquivo `customHttp.yml` na raiz do seu repositório.

1. Reimplante o aplicativo para aplicar os novos cabeçalhos personalizados.
   + Para um CI/CD aplicativo, execute uma nova compilação do seu repositório Git que inclua o novo arquivo. `customHttp.yml`
   + Para um aplicativo de implantação manual, implante o aplicativo novamente no console do Amplify e inclua o novo arquivo `customHttp.yml` com os artefatos que você carrega.

**nota**  
Os cabeçalhos personalizados definidos no arquivo `customHttp.yml` e implantados no diretório raiz da aplicação substituirão os cabeçalhos personalizados definidos na seção **Cabeçalhos personalizados** no console do Amplify.

## Exemplo de cabeçalhos personalizados de segurança
<a name="example-security-headers"></a>

Cabeçalhos de segurança permitem aplicar HTTPS, impedindo ataques XSS e defendendo seu navegador contra clickjacking. Use a seguinte sintaxe YAML para aplicar cabeçalhos de segurança personalizados ao seu aplicativo.

```
customHeaders:
  - pattern: '**'
    headers:
      - key: 'Strict-Transport-Security'
        value: 'max-age=31536000; includeSubDomains'
      - key: 'X-Frame-Options'
        value: 'SAMEORIGIN'
      - key: 'X-XSS-Protection'
        value: '1; mode=block'
      - key: 'X-Content-Type-Options'
        value: 'nosniff'
      - key: 'Content-Security-Policy'
        value: "default-src 'self'"
```

## Configuração de cabeçalhos personalizados de controle de cache
<a name="example-cache-headers"></a>

As aplicações hospedadas com o Amplify respeitam os cabeçalhos `Cache-Control` enviados pela origem, a menos que você os substitua por cabeçalhos personalizados definidos por você. O Amplify só aplica cabeçalhos personalizados de controle de cache para respostas com êxito com um código de status `200 OK`. Isso evita que as respostas de erro sejam armazenadas em cache e veiculadas a outros usuários que façam a mesma solicitação.

É possível ajustar manualmente a diretiva `s-maxage` para ter mais controle sobre o desempenho e a disponibilidade de implantação do seu aplicativo. Por exemplo, para aumentar o tempo de permanência do conteúdo em cache na borda, é possível aumentar manualmente o tempo de vida útil (TTL) atualizando `s-maxage` para um valor maior que o padrão de 600 segundos (10 minutos).

Para especificar um valor para `s-maxage`, use o seguinte formato YAML. Este exemplo mantém o conteúdo associado em cache na borda por 3600 segundo (uma hora).

```
customHeaders:
  - pattern: '/img/*'
    headers:
      - key: 'Cache-Control' 
        value: 's-maxage=3600'
```

Para obter mais informações sobre como controlar o desempenho do aplicativo com cabeçalhos, consulte [Uso do cabeçalho Cache-Control para aumentar a performance da aplicação](Using-headers-to-control-cache-duration.md).

# Migração de cabeçalhos personalizados para fora da especificação de compilação e amplify.yml
<a name="migrate-custom-headers"></a>

Anteriormente, os cabeçalhos HTTP personalizados eram especificados para uma aplicação editando-se a especificação buildspec no console do Amplify ou baixando e atualizando o arquivo `amplify.yml` e salvando-o no diretório raiz do projeto. É altamente recomendável que você migre seus cabeçalhos personalizados da especificação de compilação e do arquivo `amplify.yml`.

Especifique seus cabeçalhos personalizados na seção **Cabeçalhos personalizados** do console do Amplify ou baixando e editando o arquivo `customHttp.yml`.

**Para migrar cabeçalhos personalizados armazenados no console do Amplify**

1. Faça login no Console de gerenciamento da AWS e abra o console do [Amplify](https://console.aws.amazon.com/amplify/).

1. Escolha o aplicativo no qual realizar a migração personalizada do cabeçalho.

1. No painel de navegação, escolha **Hospedagem**, **Configurações de compilação**. Na seção **Especificação de compilação do aplicativo**, é possível revisar as especificações de construção do seu aplicativo.

1. Escolha **Baixar** para salvar uma cópia do seu buildspec atual. É possível consultar essa cópia posteriormente, se for preciso recuperar alguma configuração.

1. Quando o download for concluído, escolha **Editar**.

1. Anote as informações do cabeçalho personalizado no arquivo, pois você as usará posteriormente na etapa 9. Na janela **Editar**, exclua todos os cabeçalhos personalizados do arquivo e escolha **Salvar**.

1. No painel de navegação, escolha **Hospedagem**, **Cabeçalhos personalizados**.

1. Na página **Cabeçalhos personalizados**, escolha **Editar**.

1. Na janela **Editar cabeçalhos personalizados**, insira as informações dos cabeçalhos personalizados que você excluiu na etapa 6.

1. Escolha **Salvar**.

1. Reimplante qualquer ramificação à qual você deseja que os novos cabeçalhos personalizados sejam aplicados.

**Para migrar cabeçalhos personalizados de amplify.yml para CustomHttp.yml**

1. Navegue até o arquivo `amplify.yml` atualmente implantado no diretório raiz do seu aplicativo.

1. Abra o arquivo `amplify.yml` com seu editor de código preferido.

1. Anote as informações do cabeçalho personalizado no arquivo, pois você as usará posteriormente na etapa 8. Exclua os cabeçalhos personalizados no arquivo. Salve e feche o arquivo.

1. Faça login no Console de gerenciamento da AWS e abra o console do [Amplify](https://console.aws.amazon.com/amplify/).

1. Escolha o aplicativo para o qual definir cabeçalhos personalizados.

1. No painel de navegação, escolha **Hospedagem**, **Cabeçalhos personalizados**.

1. Na página **Cabeçalhos personalizados**, escolha **Baixar**.

1. Abra o arquivo `customHttp.yml` baixado no editor de código de sua escolha e insira as informações dos cabeçalhos personalizados que você excluiu de `amplify.yml` na etapa 3.

1. Salve o arquivo `customHttp.yml` editado no diretório raiz do seu projeto. Se você estiver trabalhando com um monorepo, salve o arquivo na raiz do seu repositório.

1. Reimplante o aplicativo para aplicar os novos cabeçalhos personalizados.
   + Para um CI/CD aplicativo, execute uma nova compilação do seu repositório Git que inclua o novo arquivo. `customHttp.yml`
   + Para um aplicativo de implantação manual, implante o aplicativo novamente no console do Amplify e inclua o novo arquivo `customHttp.yml` com os artefatos que você carrega.

**nota**  
Os cabeçalhos personalizados definidos no arquivo `customHttp.yml` e implantados no diretório raiz da aplicação substituirão os cabeçalhos personalizados definidos na seção **Cabeçalhos personalizados** no console do Amplify.

# Requisitos de cabeçalho personalizado monorepo
<a name="monorepo-custom-headers"></a>

Ao especificar cabeçalhos personalizados para um aplicativo em um monorepo, esteja ciente dos seguintes requisitos de configuração:
+ Há um formato YAML específico para um monorepo. Para obter a sintaxe correta, consulte [Referência de YAML de cabeçalho personalizado](custom-header-YAML-format.md).
+ É possível especificar cabeçalhos personalizados para uma aplicação em um monorepo usando a seção **Cabeçalhos personalizados** no console do Amplify. Você deve reimplantar sua aplicação para aplicar os novos cabeçalhos personalizados.
+ Como alternativa ao uso do console, é possível especificar cabeçalhos personalizados para um aplicativo em um monorepo em um arquivo `customHttp.yml`. Você deve salvar o arquivo `customHttp.yml` na raiz do seu repositório e, em seguida, reimplantar o aplicativo para aplicar os novos cabeçalhos personalizados. Os cabeçalhos personalizados especificados no arquivo `customHttp.yml` substituem quaisquer cabeçalhos personalizados especificados usando a seção **Cabeçalhos personalizados** do console do Amplify.