2008-08-26 12 views
28

¿Hay alguna manera de hacer que S3 se convierta por defecto en una página index.html? Ej .: Mi balde objeto anuncio:¿Hay alguna manera de tener la funcionalidad index.html con contenido alojado en S3?

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

Una llamada a www.example.com/ index.html funciona muy bien! Pero si uno fuera a llamar al www.example.com/ obtendríamos un 403 o un objeto REST listando un documento XML dependiendo de cómo se configuró la ACL de nivel de intervalo.

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

Respuesta

34

Amazon S3 ahora es compatible con Index Documents

El documento índice de un cubo se puede ajustar a algo así como index.html. Al acceder a la raíz del sitio o a un subdirectorio que contiene un documento de ese nombre, ese documento es devuelto.

Es extremadamente fácil de hacer uso de la AWS CLI:

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

Puede configurar el documento índice de la AWS Management Console:

enter image description here

+0

Acabo de leer sobre esto hace unas horas ... genial ... –

+0

Sí. Publiqué esto tan pronto como escuché el anuncio. –

+0

PD: Me encantan los círculos a mano alzada;) –

2

Sugeriría leer this thread de 2006 (En la conexión de desarrolladores de servicios web de Amazon). Parece que no hay una solución fácil para esto.

2

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

4

Puede resolverlo fácilmente con Amazon CloudFront link. En Amazon CloudFront, puede modificar el objeto raíz. Puede descargar el administrador aquí: m1.mycloudbuddy.com/downloads.html.

+0

Ha, me había olvidado por completo de esta cuestión de edad de dos años. Sí, CloudFront es mucho mejor en la entrega de contenido en general desde S3. –

31

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

La dirección URL de su sitio web (y al que hay que señalar su DNS) no es

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

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

Si usa la primera, no funcionará según lo previsto, no importa cuánto configure Index document.

Para un ejemplo específico, tenga en cuenta:

para obtener su dirección de sitio web real, vaya a su S3 Management Console, seleccione el depósito de destino, a continuación, Properties, a continuación, Static Website Hosting. Mostrará la URL del sitio web que funcionará.

+3

¡Esta es LA RESPUESTA CORRECTA! ¡Gracias! –

+2

¡Gracias por resolver finalmente mi problema! –

+2

¡Gracias! Esto me ha plagado 15 veces y nunca entendí por qué. –

3

Desde hace mucho tiempo, esta pregunta se hace, 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 funcione como alojamiento web. - Vaya a Propiedades -> haga clic en alojamiento web estático -> Seleccione 'usar este depósito para alojar un sitio web' - Ingrese el documento de índice (index.html por defecto), documento de error y reglas de redirección, si corresponde. Selecting static web hosting

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

como respondida en https://stackoverflow.com/a/24377823/3086531, enlace de alojamiento web sería

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

Cuestiones relacionadas