2008-08-26 7 views
28

C'è un modo per rendere S3 predefinito su una pagina index.html? Es .: Il mio secchio oggetto dell'avviso:C'è un modo per avere funzionalità index.html con contenuto ospitato su S3?

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

Una chiamata a www.example.com/ index.html funziona alla grande! Ma se si dovesse chiamare www.example.com/ avremmo un oggetto 403 o REST che elenca un documento XML a seconda di come è stato configurato l'ACL a livello di bucket.

Quindi, la domanda: c'è un modo per avere funzionalità index.html con contenuto ospitato su S3?

risposta

34

Amazon S3 supporta ora Index Documents

Il documento indice per un secchio può essere impostato a qualcosa come index.html. Quando si accede alla root del sito o una sottodirectory contenente un documento di quel nome, viene restituito il documento.

E 'estremamente facile da fare utilizzando il AWS cli:

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

È possibile impostare il documento dell'indice dalla console AWS di gestione:

enter image description here

+0

Ne avevo appena letto qualche ora fa ... figo ... –

+0

Sì. Ho postato questo non appena ho sentito l'annuncio. –

+0

PS: adoro i cerchi a mano libera;) –

2

Suggerirei di leggere this thread dal 2006 (sulla connessione di sviluppatori di servizi Web di Amazon). Sembra che non ci sia una soluzione facile a questo.

2

Sì. l'utilizzo di AWS Cloudfront ti consente di assegnare un file predefinito.

4

Puoi facilmente risolverlo con Amazon CloudFront link. Su Amazon CloudFront puoi modificare l'oggetto radice. Puoi scaricare manager qui: m1.mycloudbuddy.com/downloads.html.

+0

Ah, mi ero completamente dimenticato di questo due anni vecchia questione. Sì, CloudFront è molto più bravo a offrire contenuti in generale da S3. –

31

Per le persone ancora lottano contro questo dopo 3 anni, vorrei aggiungere alcune informazioni importanti:

L'URL per il tuo sito (e al quale si deve puntare il DNS) non è

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

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

Se si utilizza il primo, non funzionerà come previsto, indipendentemente da quanto si configura lo Index document.

Per un esempio specifico, prendere in considerazione:

per ottenere il vostro indirizzo del sito web vero, vai al tuo S3 Management Console, selezionare il secchio di destinazione, quindi Properties, quindi Static Website Hosting. Mostrerà l'URL del sito web che funzionerà.

+3

Questa è LA RISPOSTA GIUSTA! Grazie! –

+2

Grazie per aver finalmente risolto il mio problema! –

+2

Grazie! Questo mi ha tormentato 15 volte e non ho mai capito il perché. –

3

Poiché è passato molto tempo, questa domanda è stata posta e Amazon S3 ha cambiato la propria interfaccia. Vorrei rispondere con screenshot aggiornati.

Abbiamo bisogno di abilitare 'hosting web statico' per S3 per servire come webhosting. - Vai a Proprietà -> fai clic su web hosting statico -> Seleziona 'usa questo bucket per ospitare un sito web' - Inserisci il documento indice (index.html per impostazione predefinita), il documento di errore e le regole di reindirizzamento, se presenti. Selecting static web hosting

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

Come rispondere in https://stackoverflow.com/a/24377823/3086531, collegamento web hosting sarebbe

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

Problemi correlati