Cabeçalhos personalizados - AWS AmplifyHospedagem

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 permitem que você especifique cabeçalhos para cada resposta HTTP. Os cabeçalhos de resposta podem ser usados para fins de depuração, segurança e informativos. Você pode especificar cabeçalhos noAWS Management Console ou baixando e editando ocustomHttp.yml arquivo de um aplicativo e salvando-o no diretório raiz do projeto. Para ver os procedimentos detalhados, consulte Definindo cabeçalhos personalizados.

Anteriormente, cabeçalhos HTTP personalizados eram especificados para um aplicativo editando a especificação de compilação (buildspec) noAWS Management Console ou baixando e atualizando oamplify.yml arquivo e salvando-o no diretório raiz do projeto. Os cabeçalhos personalizados especificados dessa forma devem ser migrados do buildspec e doamplify.yml arquivo. 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

Define os cabeçalhos que correspondem ao padrão do arquivo.

chave

O nome do cabeçalho personalizado.

value

O valor do cabeçalho personalizado.

Para saber mais sobre cabeçalhos HTTP, consulte a lista de cabeçalhos HTTP da Mozilla.

Definindo cabeçalhos personalizados

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

Para definir cabeçalhos personalizados para um aplicativo noAWS Management Console
  1. Faça login noAWS 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 Ajustes do aplicativo, Cabeçalhos personalizados.

  4. Na seção Especificação de cabeçalho personalizado, escolha Editar.

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

    1. Parapattern, insira o padrão a ser correspondido.

    2. Parakey, insira o nome do cabeçalho personalizado.

    3. Paravalue, insira o valor do cabeçalho personalizado.

  6. Escolha Save (Salvar).

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

    • Para um aplicativo de CI/CD, navegue até a ramificação a ser implantada e escolha Reimplantar esta versão. Você também pode 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 usando o arquivo CustomHttp.yml
  1. Faça login noAWS 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 Ajustes do aplicativo, Cabeçalhos personalizados.

  4. Na seção Especificação de cabeçalho personalizado, escolha Baixar.

  5. Abra ocustomHttp.yml arquivo baixado no editor de código de sua escolha e insira as informações para seus cabeçalhos personalizados usando o formato YAML de cabeçalho personalizado.

    1. Parapattern, insira o padrão a ser correspondido.

    2. Parakey, insira o nome do cabeçalho personalizado.

    3. Paravalue, insira o valor do cabeçalho personalizado.

  6. Salve ocustomHttp.yml arquivo editado no diretório raiz do seu projeto. Se você estiver trabalhando com um monorepo, salve ocustomHttp.yml arquivo 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 novocustomHttp.yml arquivo.

    • Para um aplicativo de implantação manual, implante o aplicativo novamente no console do Amplify e inclua o novocustomHttp.yml arquivo com os artefatos que você carrega.

nota

Os cabeçalhos personalizados definidos nocustomHttp.yml arquivo e implantados no diretório raiz do aplicativo substituirão os cabeçalhos personalizados definidos na seção Cabeçalhos personalizados noAWS Management Console.

Migração de cabeçalhos personalizados

Anteriormente, cabeçalhos HTTP personalizados eram especificados para um aplicativo editando a especificação de construção noAWS Management Console ou baixando e atualizando oamplify.yml arquivo e salvando-o no diretório raiz do projeto. É altamente recomendável que você migre seus cabeçalhos personalizados do buildspec e doamplify.yml arquivo.

Especifique seus cabeçalhos personalizados na seção Cabeçalhos personalizados doAWS Management Console ou baixando e editando ocustomHttp.yml arquivo.

Para migrar cabeçalhos personalizados armazenados no console do Amplify
  1. Faça login noAWS Management Console e abra o console do Amplify.

  2. Escolha o aplicativo para realizar a migração do cabeçalho personalizado.

  3. No painel de navegação, escolha Ajustes do App, Build (Configurações de compilação). Na seção Especificação de compilação do aplicativo, você pode revisar as especificações de construção do seu aplicativo.

  4. Escolha Baixar para salvar uma cópia do seu buildspec atual. Você pode consultar essa cópia posteriormente, se for preciso recuperar alguma configuração.

  5. Quando o download estiver 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 Ajustes do aplicativo, Cabeçalhos personalizados.

  8. Na seção Especificação de cabeçalho personalizado, escolha Editar.

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

  10. Escolha Save (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é oamplify.yml arquivo atualmente implantado no diretório raiz do seu aplicativo.

  2. Abraamplify.yml no editor de código de sua escolha.

  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 noAWS 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 Ajustes do aplicativo, Cabeçalhos personalizados.

  7. Na seção Especificação de cabeçalho personalizado, escolha Baixar.

  8. Abra ocustomHttp.yml arquivo baixado no editor de código de sua escolha e insira as informações dos cabeçalhos personalizados que você excluiuamplify.yml na etapa 3.

  9. Salve ocustomHttp.yml arquivo 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 novocustomHttp.yml arquivo.

    • Para um aplicativo de implantação manual, implante o aplicativo novamente no console do Amplify e inclua o novocustomHttp.yml arquivo com os artefatos que você carrega.

nota

Os cabeçalhos personalizados definidos nocustomHttp.yml arquivo e implantados no diretório raiz do aplicativo substituirão os cabeçalhos personalizados definidos na seção Cabeçalhos personalizados doAWS Management Console.

Cabeçalhos personalizados do 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, consulteFormato YAML de cabeçalho personalizado.

  • Você pode especificar cabeçalhos personalizados para um aplicativo em um monorepo usando a seção Cabeçalhos personalizados doAWS Management Console. Observe que você deve reimplantar seu aplicativo para aplicar os novos cabeçalhos personalizados.

  • Como alternativa ao uso do console, você pode especificar cabeçalhos personalizados para um aplicativo em um monorepo em umcustomHttp.yml arquivo. Você deve salvar ocustomHttp.yml arquivo na raiz do seu repositório e reimplantar o aplicativo para aplicar os novos cabeçalhos personalizados. Os cabeçalhos personalizados especificados nocustomHttp.yml arquivo substituem quaisquer cabeçalhos personalizados especificados usando a seção Cabeçalhos personalizados doAWS Management Console.

Exemplo de cabeçalhos de segurança

Cabeçalhos de segurança personalizados permitem aplicar HTTPS, evitar ataques de XSS e defender seu navegador contra clickjacking. Use a sintaxe YAML a seguir 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'"