redirection content cloudfront aws redirect amazon-web-services amazon-s3 amazon-cloudfront

content - s3 bucket redirect



Amazon S3 Redirect y Cloudfront (2)

Tuve el mismo problema con los redireccionamientos fallidos y los archivos de longitud cero que se descargaban, pero que no usaba Cloudfront.

La causa principal en mi caso era mi registro DNS CNAME apuntando al punto final REST (static.righto.com.s3-us-west-2.amazonaws.com) en lugar del punto final del sitio web (static.righto.com.s3- website -us-west-2.amazonaws.com). La actualización del registro CNAME solucionó mis redireccionamientos.

Otro síntoma de este problema es que faltan páginas que muestran una página de error XML en lugar de una página de error HTML.

Este documento explica la diferencia entre los puntos finales del sitio web y los puntos finales REST.

Estoy intentando configurar 301 redirecciones en S3 usando objetos, a los que se hace referencia aquí http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html . He tenido algunos problemas y parece que no puedo entender lo que estoy haciendo mal.

Lo que obtengo es una página en blanco (archivo de 0 bytes) como si el valor de metadatos ''Ubicación de redireccionamiento del sitio web'' no estuviera configurado.

¿Qué estoy haciendo mal?

Además, ¿esto funciona en AWS CloudFront?

Configuración de mi consola S3

Cosas para un par a tener en cuenta:

Tengo esta configuración para alojar un sitio estático. Estoy usando ssl / https con mi propio certificado cargado y configurado en la distribución de la nube. Todas las páginas parecen funcionar, excepto los objetos redirigidos. Intenté configurar las reglas de enrutamiento pero no parecían funcionar en Cloudfront.

Estoy intentando acceder a los redireccionamientos a través de la url de la nube y la url de s3 ( https://s3.amazonaws.com/ {bucket} / users / sign_in)


Para la funcionalidad similar a un sitio web en S3, como redirecciones, mensajes de error html y documentos de índice, no puede usar el punto final REST ( ${bucket_name}.s3.amazonaws.com o ${bucket_name}.s3.${region}.amazonaws.com ) ya que estas características solo las proporcionan los puntos finales del sitio web ( ${bucket_name}.s3-website.${region}.amazonaws.com ).

http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html

Para que el comportamiento esté disponible en Cloudfront, también necesita configurar Cloudfront para usar este punto final, no el REST que se ofrece a través de la función autocompletar en la consola.

Ingrese el extremo de hospedaje del sitio web estático de Amazon S3 para su cubo. Este valor aparece en la consola de Amazon S3, en la página Propiedades en Hosting de sitio web estático .

Cuando especifica el nombre del depósito en este formato, puede usar los redireccionamientos de Amazon S3 y los documentos de error personalizados de Amazon S3.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html

Tenga en cuenta que los puntos finales web no son compatibles con HTTPS, pero puede configurar Cloudfront para que obtenga del depósito con HTTP aunque la conexión del cliente sea HTTPS.

Consejo útil: cuando se solucionan problemas y pruebas con CloudFront, los usuarios a menudo se confunden por la aparente "latencia" entre cuando realiza cambios y cuando CloudFront comienza a exhibir el nuevo comportamiento. En el caso de las páginas de error, CloudFront tiene un error predeterminado de 5 minutos Almacenamiento en memoria caché TTL mínimo que evita que reenvíe las solicitudes de páginas fallidas al origen, y este es un temporizador separado del TTL mínimo / predeterminado / máximo establecido en Cache Behavior . Particularmente cuando se prueban, es posible que desee desactivar estos temporizadores y forzar el reintento con cada solicitud posterior de páginas que devolvieron errores, usando los pasos que proporcioné en la respuesta a una pregunta sobre aparente latencia de Amazon CloudFront .