Estoy usando contenido para acceder a varios cubos de S3. Los cubos S3 ya se están utilizando para varios sitios web diferentes, lo que limita mi capacidad para mover el contenido.
Digamos que tengo MY_BUCKET1, MYBUCKET2, MYBUCKET3, y los tres tienen archivos en la base del depósito.
Quiero poder configurarlo para que se pueda hacer referencia a estos archivos en:
CF_CRAZY_URL.cloudfront.net/BUCKET1/file1.mp4 CF_CRAZY_URL.cloudfront.net/BUCKET2/file2.mp4 CF_CRAZY_URL.cloudfront.net/BUCKET3/file3.mp4Pero cuando elijo el depósito como origen en CloudFront, parece que la forma en que funcionan los comportamientos para el mapeo de carpetas busca los archivos para la primera regla de comportamiento en:
CF_CRAZY_URL.cloudfront.net/file1.mp4Lo cual estoy bastante seguro de que hace que no pueda encontrar: file2.mp4, ya que no está en ese primer cubo donde se busca primero.
¿Hay alguna forma de hacer esto?
Básicamente, quiero: CF_CRAZY_URL.cloudfront.net/BUCKET1 para asignar a https://s3.amazonaws.com/BUCKET1/
En lugar de: CF_CRAZY_URL.cloudfront.net/ asignación a https://s3.amazonaws.com/BUCKET1/
CloudFront usa el primer patrón de ruta coincidente para determinar a qué servidor de origen se enviará la solicitud.
Luego envía la ruta exactamente como la recibió del navegador, a menos que se establezca una ruta de origen en el origen, en cuyo caso la ruta de origen se antepone antes de enviar la solicitud al depósito.
Ninguno de estos comportamientos estándar hará lo que usted desea: con CloudFront, no puede eliminar nada de la ruta solicitada por el navegador antes de enviarlo al origen.
La única forma de modificar la ruta (para eliminar /BUCKETx desde el principio) antes de que el depósito reciba la solicitud será con un disparador de Solicitud de origen de Lambda@Edge . Lambda@Edge, sin embargo, todavía está en versión preliminar, por lo que todavía no está disponible de forma general.