Encabezados personalizados - AWS Amplify

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Encabezados personalizados

Los encabezados HTTP personalizados le permiten especificar encabezados para todas las respuestas de HTTP. Los encabezados de respuesta se pueden utilizar para fines de depuración, seguridad e información. Puede especificar encabezados en AWS Management Console o descargando y editando el archivocustomHttp.ymly guardarlo en el directorio raíz del proyecto. Para obtener procedimientos detallados consulte Configuración de encabezados personalizados.

Anteriormente, los encabezados HTTP personalizados se especificaban para una aplicación mediante la edición de la especificación de compilación (buildspec) en AWS Management Console o mediante la descarga y actualización deamplify.ymly guardarlo en el directorio raíz del proyecto. Los encabezados personalizados especificados de esta manera se deben migrar fuera de buildspec y elamplify.ymlfile. Para obtener instrucciones, consulte Migración de encabezados personalizados.

Formato YAML de encabezado personalizado

Especifique encabezados personalizados utilizando el siguiente 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 un monorepo, utilice el siguiente 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'

Cuando agregue encabezados personalizados a su aplicación, especificará sus propios valores para lo siguiente:

pattern

Los encabezados personalizados se aplican todas las rutas de archivo de URL que coinciden con el patrón.

headers

Define los encabezados que coinciden con el patrón de archivo.

clave

El nombre del encabezado personalizado.

value

El valor del encabezado personalizado.

Para obtener más información acerca de los encabezados HTTP, consulte la lista deEncabezados HTTP.

Configuración de encabezados personalizados

Hay dos formas de especificar encabezados HTTP personalizados para una aplicación de AWS Amplify. Puede especificar encabezados en AWS Management Console o puede especificar encabezados descargando y editando elcustomHttp.ymly guardarlo en el directorio raíz de su proyecto.

Para establecer encabezados personalizados para una aplicación en la consola de administración de AWS

  1. Inicie sesión en la consola de administración de AWS y abra elConsola de Amplify.

  2. Elija la aplicación para la que desea establecer encabezados personalizados.

  3. En el panel de navegación, seleccioneConfiguración de aplicación,Encabezados personalizados.

  4. En el navegadorEspecificación personalizada del encabezado personalizadoEn la sección, elijaEditar.

  5. En el navegadorEditar, introduzca la información de los encabezados personalizados mediante la herramientaencabezado personalizado formato YAML.

    1. ParapatternIntroduzca el patrón que desee coincidir.

    2. Parakey, introduzca el nombre del encabezado personalizado.

    3. Paravalue, introduzca el valor del encabezado personalizado.

  6. Elija Save (Guardar).

  7. Si estás trabajando con una aplicación en un monorepo o unque utiliza la representación del lado del servidor (SSR), debe volver a implementar la aplicación para aplicar los nuevos encabezados personalizados.

Para establecer encabezados personalizados mediante el archivo CustomHttp.yml

  1. Inicie sesión en la consola de administración de AWS y abra elConsola de Amplify.

  2. Elija la aplicación para la que desea establecer encabezados personalizados.

  3. En el panel de navegación, seleccioneConfiguración de aplicación,Encabezados personalizados.

  4. En el navegadorEspecificación personalizada del encabezado personalizadoEn la sección, elijaDescargar.

  5. Abra el archivo descargadocustomHttp.ymlen el editor de código de su elección e ingrese la información de sus encabezados personalizados utilizando elencabezado personalizado formato YAML.

    1. ParapatternIntroduzca el patrón que desee coincidir.

    2. Parakey, introduzca el nombre del encabezado personalizado.

    3. Paravalue, introduzca el valor del encabezado personalizado.

  6. Guardar el archivo editadocustomHttp.ymlEl archivo en el directorio raíz del proyecto. Si está trabajando con un monorepo, guarde elcustomHttp.ymlEl archivo en la raíz de su repositorio.

  7. Implemente su aplicación para aplicar los nuevos encabezados personalizados.

    • Para una aplicación CI/CD, realice una nueva compilación desde su repositorio de Git que incluya el nuevocustomHttp.ymlfile.

    • Para una aplicación de implementación manual, implemente la aplicación de nuevo en elAmplifye incluya el nuevocustomHttp.ymlcon los artefactos que subas.

nota

Encabezados personalizados establecidos en elcustomHttp.ymle implementado en la aplicación'anulará los encabezados personalizados definidos en el directorio raízEncabezados personalizadosEn la consola de administración de AWS.

Migración de encabezados personalizados

Anteriormente, los encabezados HTTP personalizados se especificaban para una aplicación editando la especificación de compilación en AWS Management Console o descargando y actualizando elamplify.ymly guardarlo en el proyecto'El directorio raíz. Se recomienda encarecidamente que migre sus encabezados personalizados fuera de buildspec y elamplify.ymlfile.

Especifique los encabezados personalizados en el cuadroEncabezados personalizadosde la consola de administración de AWS o descargando y editando elcustomHttp.ymlfile.

Para migrar encabezados personalizados almacenados en Amplify Console

  1. Inicie sesión en la consola de administración de AWS y abra elAmplifyConsola.

  2. Elija la aplicación en la que realizar la migración de encabezado personalizada.

  3. En el panel de navegación, seleccioneConfiguración de aplicación,Configuración de compilación. En el navegadorEspecificación de compilación de aplicación, puedes revisar la especificación de construcción de tu aplicación.

  4. SeleccionarDescargarPara guardar una copia de la especificación de compilación actual. Puede hacer referencia a esta copia más adelante si necesita recuperar alguna configuración.

  5. Cuando haya terminado la descarga, elijaEditar.

  6. Tome nota de la información de encabezado personalizada en el archivo, ya que la usará más adelante en el paso 9. En el navegadorEditar, elimine los encabezados personalizados del archivo y elijaSave (Guardar).

  7. En el panel de navegación, seleccioneConfiguración de aplicación,Encabezados personalizados.

  8. En el navegadorEspecificación personalizada del encabezado personalizadoEn la sección, elijaEditar.

  9. En el navegadorEditar, introduzca la información de los encabezados personalizados que eliminó en el paso 6.

  10. Elija Save (Guardar).

  11. Vuelva a desplegar cualquier rama a la que desee aplicar los nuevos encabezados personalizados.

Para migrar encabezados personalizados de amplify.yml a CustomHttp.yml

  1. Vaya a la .amplify.ymlel archivo raíz de su aplicación.

  2. Openamplify.ymlEn el editor de código de su elección.

  3. Tome nota de la información de encabezado personalizada en el archivo, ya que la usará más adelante en el paso 8. Elimine los encabezados personalizados del archivo. Guarde y cierre el archivo .

  4. Inicie sesión en la consola de administración de AWS y abra elAmplifyConsola.

  5. Elija la aplicación para la que desea establecer encabezados personalizados.

  6. En el panel de navegación, seleccioneConfiguración de aplicación,Encabezados personalizados.

  7. En el navegadorEspecificación personalizada del encabezado personalizadoEn la sección, elijaDescargar.

  8. Abra el archivo descargadocustomHttp.ymlen el editor de código de su elección e introduzca la información de los encabezados personalizados que eliminó deamplify.ymlEn el paso 3.

  9. Guardar el archivo editadocustomHttp.ymlEl archivo en el directorio raíz del proyecto. Si está trabajando con un monorepo, guarde el archivo en la raíz de su repositorio.

  10. Implemente su aplicación para aplicar los nuevos encabezados personalizados.

    • Para una aplicación CI/CD, realice una nueva compilación desde su repositorio de Git que incluya el nuevocustomHttp.ymlfile.

    • Para una aplicación de implementación manual, implemente la aplicación de nuevo en elAmplifye incluya el nuevocustomHttp.ymlcon los artefactos que cargue.

nota

Encabezados personalizados establecidos en elcustomHttp.ymle implementado en la aplicación'anulará los encabezados personalizados definidos en el directorio raízEncabezados personalizadosLa sección de la consola de administración de AWS.

Encabezados personalizados

Cuando especifique encabezados personalizados para una aplicación en un monorepo, tenga en cuenta los siguientes requisitos de configuración:

  • Hay un formato YAML específico para un monorepo. Para ver la sintaxis correcta, consulteFormato YAML de encabezado personalizado.

  • Puede especificar encabezados personalizados para una aplicación en un monorepo utilizando la herramientaEncabezados personalizadosLa sección de la consola de administración de AWS. Tenga en cuenta que debe volver a implementar la aplicación para aplicar los nuevos encabezados personalizados.

  • Como alternativa al uso de la consola, puede especificar encabezados personalizados para una aplicación en un monorepo en uncustomHttp.ymlfile. Debe guardar elcustomHttp.ymlen la raíz de su repositorio y, a continuación, vuelva a implementar la aplicación para aplicar los nuevos encabezados personalizados. Encabezados personalizados especificados en elcustomHttp.ymlanulará todos los encabezados personalizados especificados mediante el comandoEncabezados personalizadosLa sección de la consola de administración de AWS.

Ejemplo de encabezados de seguridad

Los encabezados personalizados permiten aplicar HTTPS, evitar ataques XSS y defender su navegador frente a ataques tipo clickjack. Utilice la siguiente sintaxis YAML para aplicar encabezados de seguridad personalizados a su aplicación.

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'