Esiste un modo per avere la funzionalità index.html con il contenuto ospitato su S3?

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

  •  09-06-2019
  •  | 
  •  

Domanda

Esiste un modo per impostare S3 come predefinita su una pagina index.html?Per esempio.:L'elenco dei miei oggetti bucket:

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

Una chiamata a www.esempio.com/indice.html funziona alla grande!Ma se qualcuno dovesse chiamare www.esempio.com/ otterremmo un documento XML con elenco di oggetti 403 o REST a seconda di come è stata configurata l'ACL a livello di bucket.

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

È stato utile?

Soluzione

Amazon S3 ora supporta Indice dei documenti

IL documento indice for a bucket può essere impostato su qualcosa di simile index.html.Quando si accede alla radice del sito o ad una sottodirectory contenente un documento con quel nome, viene restituito quel documento.

È estremamente semplice da eseguire utilizzando aws cli:

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

È possibile impostare il documento indice dalla Console di gestione AWS:

enter image description here

Altri suggerimenti

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

L'URL del tuo sito web (e al quale devi puntare il tuo DNS) non lo è

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

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

Se usi il primo, non funzionerà come previsto, non importa quanto configuri il file Documento indice.

Per un esempio specifico, considerare:

Per ottenere il vero indirizzo del tuo sito web, vai al tuo Console di gestione S3, seleziona il bucket di destinazione, quindi Properties, Poi Static Website Hosting.Mostrerà l'URL del sito Web che funzionerà.

Puoi risolverlo facilmente con Amazon CloudFront collegamento.Su Amazon CloudFront puoi modificare l'oggetto root.Puoi scaricare il gestore qui:m1.mycloudbuddy.com/downloads.html.

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

Dobbiamo abilitare il "web hosting statico" affinché S3 funga da web hosting.- Vai su Proprietà -> Fai clic su Web Hosting statico -> Seleziona 'Usa questo bucket per ospitare un sito Web' - Immettere 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 risposto in https://stackoverflow.com/a/24377823/3086531, il collegamento al web hosting sarebbe

http://nome-bucket.s3-sito-web-region.amazonaws.com

Suggerirei la lettura questo filo dal 2006 (connessione agli sviluppatori di servizi web di Amazon).Sembra che non ci sia una soluzione semplice a questo.

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

puoi farlo utilizzando dns webforwards e cloaking.inoltra semplicemente il percorso completo di index.html

www.example.com inoltra a http://www.example.com.s3.amazonaws.com e assicurati di nascondere l'output.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top