Actualización de respuestas HTTP en desencadenadores de respuesta de origen
Cuando CloudFront recibe una respuesta HTTP desde el servidor de origen, si existe un desencadenador de respuesta del origen asociado al comportamiento de la caché, es posible modificar la respuesta HTTP para anular lo que ha devuelto el origen.
Entre las situaciones más comunes para actualizar respuestas HTTP se incluyen las siguientes:
-
Cambiar el estado para establecer un código de estado HTTP 200 y crear un cuerpo con contenido estático para devolverlo al espectador cuando un origen devuelva un código de estado de error (4xx o 5xx). Para ver el código de muestra, consulte Ejemplo: uso de un desencadenador de respuesta de origen para actualizar el código de estado de error a 200.
-
Cambiar el estado para establecer un código de estado HTTP 301 o 302, con objeto de redirigir al usuario a otro sitio web cuando un origen devuelve un código de estado de error (4xx o 5xx). Para ver el código de muestra, consulte Ejemplo: uso de un desencadenador de respuesta de origen para actualizar el código de estado de error a 302.
nota
La función debe devolver un valor de estado entre 200
y 599
(incluidos); de lo contrario, CloudFront devuelve un error al espectador.
También puede sustituir las respuestas HTTP en eventos de solicitud al origen y del espectador. Para obtener más información, consulte Generación de respuestas HTTP en los desencadenadores de solicitud.
Cuando trabaja con la respuesta HTTP, Lambda@Edge no expone el cuerpo que devuelve el servidor de origen al desencadenador de respuesta del origen. Puede generar un cuerpo con contenido estático estableciéndolo en el valor deseado, o eliminar el cuerpo dentro de la función estableciendo un valor vacío. Si no actualiza el campo de cuerpo de la función, se devolverá al espectador el cuerpo original devuelto por el servidor de origen.