subir route pagina ec2 dominio domain configurar cloudfront aws amazon-s3 amazon-cloudfront

amazon s3 - route - Amazon CloudFront no respeta las reglas index.html de My S3 Website Bucket



s3 static website (3)

Estoy alojando un sitio web estático en Amazon S3 utilizando la opción de alojamiento de sitios web estáticos, para que S3 muestre una carpeta sin hacer que apunte explícitamente a mi archivo index.html.

Por ejemplo, aquí hay un enlace directo a una página en mi bucket S3: http://new.rdegges.com.s3-website-us-east-1.amazonaws.com/category/2009/ Como puede ver, cuando Si visita esa URL, Amazon S3 automáticamente procesa el archivo index.html dentro de ese directorio, lo que me permite tener URL limpias.

Todo esto funciona bien en S3. El problema que tengo es conseguir que Amazon Cloudfront también maneje este comportamiento. Cuando creo una distribución en la nube con mi cubo S3 especificado como origen, y le digo que use ''index.html'' como raíz, el comportamiento index.html que S3 acaba de dejar de funcionar en conjunto.

Por ejemplo, aquí está mi misma URL que la anterior en Cloudfront: http://d1mj00c6pby3gc.cloudfront.net/category/2009/

Desafortunadamente, la URL anterior NO funciona, pero si especifico manualmente el archivo de índice, sí lo hace, por ejemplo: http://d1mj00c6pby3gc.cloudfront.net/category/2009/index.html

Mi pregunta es: ¿cómo debo configurar Cloudfront para que respete la configuración de mi bucket S3 para mi sitio web?


Esto puede ser tarde en el juego, pero echa un vistazo a Lambda@Edge . Puede interceptar solicitudes de origen sin extensión y señalarlas al documento index.html en la carpeta. Estos resultados se almacenan en caché, por lo que el Lambda solo se ejecuta cuando recibe una nueva solicitud.


Me gustaría agregar algunas cosas a la respuesta aceptada.

En primer lugar, asegúrese de tener un Default Root Object en su frente de nube. Como se especifica en la documentation esto no se aplicará a los subdirectories .

Al configurar una nueva distribución de cloudfront, le permitirá seleccionar su cubo bucket-name.s3.amazonaws.com . Tenga en cuenta que la región no está especificada en la URL. Lo que debe hacer es tomar la URL del sitio estático de s3 y usarla como origin url (la región estará allí).


Las características del sitio web S3 se pueden usar junto con Amazon CloudFront. Sin embargo, el sitio web S3 utiliza un nombre de dominio diferente al de los segmentos regulares S3. En este caso, deberá establecer el Origin Domain Name de Origin Domain Name de origen de la configuración de origen de su distribución CloudFront en new.rdegges.com.s3-website-us-east-1.amazonaws.com .

Puede tomar esta URL (punto final) desde el panel de Alojamiento del sitio web estático en S3:

Una vez que CloudFront apunte al nombre de dominio del sitio web S3, las características del sitio web S3 deberían funcionar.