es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Los grupos de origen de AWS Cloudfront “no pueden incluir POST, PUT, PATCH o DELETE para un comportamiento en caché”.

Tengo dos rutas en una distribución de CloudFront que tienen los siguientes Comportamientos:

Patrón de ruta Origen Política del protocolo del espectador
/api/* GrupoOrigenAPI Redireccionar HTTP a HTTPS
/* GrupoOrigenS3 Redireccionar HTTP a HTTPS

Y estos Orígenes:

Nombre de origen Dominio de origen Grupo de origen
S3Origen1 us-east-1.s3.[blah] GrupoOrigenS3
S3Origen2 us-east-2.s3.[blah] GrupoOrigenS3
APIOrigen1 un dominio GrupoOrigenAPI
APIOrigen2 un dominio GrupoOrigenAPI

Esta configuración funciona bien para las solicitudes GET, pero si agrego solicitudes POST en los Métodos de caché del Comportamiento de caché, obtengo un error:

“No se pueden incluir POST, PUT, PATCH o DELETE para un comportamiento en caché”.

Esto no tiene sentido para mí. Si CloudFront realmente es utilizado por clientes de AWS para servir miles de millones de solicitudes al día y AWS recomienda usar CloudFront Origin Failover, que requiere grupos de origen, entonces se deduce que debe haber alguna forma de configurar CloudFront para permitir comportamientos de origen que permitan solicitudes POST. ¿No es cierto? ¿Todas estas solicitudes API que realiza este cliente son solicitudes GET?

Para ser claro, mi problema fundamental es que quiero usar CloudFront Origin Failover para cambiar entre mi región principal y mi región secundaria cuando una región de AWS falla. Para que eso sea posible, necesito cambiar no solo mi tráfico frontal basado en S3 (solicitudes GET), sino también mi tráfico trasero (solicitudes POST).

Nota: CloudFront admite comportamientos de enrutamiento con solicitudes POST si no se utiliza un grupo de origen. Parece que solo cuando agregué este grupo de origen (para admitir la segunda región) apareció este error.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Amazon Web Services y Amazon CloudFront, comprendo su preocupación con respecto a las solicitudes POST en Comportamientos de Caché. Es correcto que si agregas solicitudes POST en los Métodos de Caché de un Comportamiento de Caché, recibirás un error que dice “no se pueden incluir POST, PUT, PATCH o DELETE para un comportamiento en caché”.

    Sin embargo, aún es posible configurar CloudFront para permitir comportamientos de origen que permitan solicitudes POST. Puedes hacer esto no utilizando un Grupo de Orígenes o creando un comportamiento de caché personalizado utilizando Lambda@Edge.

    Es importante tener en cuenta que CloudFront admite comportamientos de enrutamiento con solicitudes POST si no se utiliza un Grupo de Orígenes. Parece que solo cuando agregaste el Grupo de Orígenes (para admitir la segunda región) es que apareció este error.

    En resumen, aunque CloudFront no admite solicitudes POST en Comportamientos de Caché, aún es posible configurar CloudFront para permitirlas no utilizando un Grupo de Orígenes o utilizando Lambda@Edge.

Comments are closed.