Cabeçalhos personalizados - AWS Amplify Hospedagem

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

Cabeçalhos personalizados

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. Você pode especificar cabeçalhos no console do Amplify ou baixando e editando o arquivo customHttp.yml de um aplicativo e salvando-o no diretório raiz do projeto. Para ver os procedimentos detalhados, consulte Configuração de cabeçalhos personalizados.

Anteriormente, cabeçalhos HTTP personalizados eram especificados para um aplicativo editando a especificação de compilação (buildspec) no AWS Management Console ou baixando e atualizando o amplify.yml arquivo e salvando-o no diretório raiz do projeto. Os cabeçalhos personalizados especificados dessa forma devem ser migrados do buildspec e do arquivo amplify.yml. Para obter instruções, consulte Migração de cabeçalhos personalizados.

Formato YAML de cabeçalho personalizado

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 personalizados são aplicados a todos os caminhos de arquivo de URL que correspondem ao padrão.

headers

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

chave

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 da Mozilla.

Configuração de cabeçalhos personalizados

Há duas maneiras de especificar cabeçalhos HTTP personalizados para um aplicativo Amplify. Você pode especificar cabeçalhos no console do Amplify ou pode especificar cabeçalhos baixando e editando o arquivo de um aplicativo e salvando-o no diretório raiz customHttp.yml do seu projeto.

Para definir cabeçalhos personalizados para um aplicativo e salvá-los no console
  1. Faça login AWS Management Console e abra o console do Amplify.

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

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

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

  5. Na janela Editar cabeçalhos personalizados, insira as informações dos cabeçalhos personalizados usando o formato YAML do cabeçalho personalizado.

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

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

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

  6. Escolha Salvar.

  7. Reimplante o aplicativo para aplicar os novos cabeçalhos personalizados.

    • Para um aplicativo CI/CD, navegue até a filial 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 um aplicativo e salvá-los na raiz do seu repositório
  1. Faça login AWS Management Console e abra o console do Amplify.

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

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

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

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

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

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

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

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

  7. Reimplante o aplicativo para aplicar os novos cabeçalhos personalizados.

    • Para um aplicativo de CI/CD, 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 customHttp.yml arquivo e implantados no diretório raiz do aplicativo substituem os cabeçalhos personalizados definidos na seção Cabeçalhos personalizados no console do Amplify.

Migração de cabeçalhos personalizados

Anteriormente, cabeçalhos HTTP personalizados eram especificados para um aplicativo editando o buildspec no console do Amplify ou baixando e atualizando o amplify.yml arquivo e salvando-o no diretório raiz do projeto. É altamente recomendável que você migre seus cabeçalhos personalizados do buildspec 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 AWS Management Console e abra o console do Amplify.

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

  3. No painel de navegação, escolha Hosting, Build settings. Na seção Especificação de compilação do aplicativo, é possível revisar as especificações de construção do seu aplicativo.

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

  5. Quando o download for concluído, escolha Editar.

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

  7. No painel de navegação, escolha Hospedagem, cabeçalhos personalizados.

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

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

  10. Escolha Salvar.

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

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

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

  4. Faça login AWS Management Console e abra o console do Amplify.

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

  6. No painel de navegação, escolha Hospedagem, cabeçalhos personalizados.

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

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

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

  10. Reimplante o aplicativo para aplicar os novos cabeçalhos personalizados.

    • Para um aplicativo de CI/CD, 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 customHttp.yml arquivo e implantados no diretório raiz do aplicativo substituem os cabeçalhos personalizados definidos na seção Cabeçalhos personalizados do console do Amplify.

Cabeçalhos personalizados monorepo

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 Formato YAML de cabeçalho personalizado.

  • Você pode especificar cabeçalhos personalizados para um aplicativo em um monorepo usando a seção Cabeçalhos personalizados do console do Amplify. Você deve reimplantar seu aplicativo 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 customHttp.yml arquivo substituem quaisquer cabeçalhos personalizados especificados usando a seção Cabeçalhos personalizados do console do Amplify.

Exemplo de cabeçalhos de seguranç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'"

Cabeçalhos de controle de cache personalizados

Os aplicativos hospedados com o Amplify respeitam Cache-Control os cabeçalhos enviados pela origem, a menos que você os substitua por cabeçalhos personalizados definidos por você. O Amplify aplica somente cabeçalhos personalizados do Cache-Control para respostas bem-sucedidas 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 Usar cabeçalhos para controlar a duração do cache.