¿Hay alguna manera de tener la funcionalidad index.html con contenido alojado en S3?

StackOverflow https://stackoverflow.com/questions/27899

  •  09-06-2019
  •  | 
  •  

Pregunta

¿Hay alguna manera de hacer que S3 utilice de forma predeterminada una página index.html?P.ej.:Listado de objetos de mi depósito:

/index.html
/favicon.ico
/images/logo.gif

una llamada a www.ejemplo.com/índice.html ¡Funciona genial!Pero si uno llamara www.ejemplo.com/ obtendríamos un documento XML con una lista de objetos 403 o REST dependiendo de cómo se configuró la ACL a nivel de depósito.

Entonces, la pregunta:¿Hay alguna manera de tener la funcionalidad index.html con contenido alojado en S3?

¿Fue útil?

Solución

Amazon S3 ahora es compatible Documentos de índice

El documento índice para un cubo se puede configurar en algo como index.html.Al acceder a la raíz del sitio o a un subdirectorio que contiene un documento con ese nombre, se devuelve ese documento.

Es extremadamente fácil de hacer usando AWS CLI:

aws s3 website $MY_BUCKET_NAME --index-document index.html

Puedes configurar el documento índice desde la Consola de administración de AWS:

enter image description here

Otros consejos

Para las personas que todavía luchan contra esto después de 3 años, permítanme agregar información importante:

La URL de su sitio web (y a la que debe apuntar su DNS) no es

<bucket_name>.s3-us-west-2.amazonaws.com, pero

<bucket_name>.s3-website-us-west-2.amazonaws.com.

Si usa el primero, no funcionará según lo previsto, no importa cuánto configure el Documento índice.

Para un ejemplo específico, considere:

Para obtener la verdadera dirección de su sitio web, vaya a su Consola de administración S3, seleccione el depósito de destino y luego Properties, entonces Static Website Hosting.Mostrará la URL del sitio web que funcionará.

Puedes solucionarlo fácilmente con Amazon CloudFront enlace.En Amazon CloudFront puede modificar el objeto raíz.Puedes descargar el administrador aquí:m1.mycloudbuddy.com/downloads.html.

Desde hace mucho tiempo, se hace esta pregunta y Amazon S3 cambia su interfaz.Me gustaría responder con capturas de pantalla actualizadas.

Necesitamos habilitar el 'alojamiento web estático' para que S3 sirva como alojamiento web.- Vaya a Propiedades -> Haga clic en el alojamiento web estático -> Seleccione 'Use este cubo para alojar un sitio web' - Ingrese el documento de índice (index.html de forma predeterminada), documento de error y reglas de redirección, si corresponde.Selecting static web hosting

use-this-bucket-to-host-a-website

Como se respondió en https://stackoverflow.com/a/24377823/3086531, el enlace de alojamiento web sería

http://bucket-name.s3-website-region.amazonaws.com

sugeriría leer este hilo desde 2006 (Conexión de desarrolladores de servicios web de Amazon).Parece que no hay una solución fácil para esto.

Sí.El uso de AWS Cloudfront le permite asignar un archivo predeterminado.

puedes hacerlo usando dns webforwards y encubrimiento.simplemente avance a la ruta completa de index.html

www.example.com reenvía a http://www.example.com.s3.amazonaws.com y asegúrese de ocultar la salida.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top