Existe-t-il un moyen d'avoir la fonctionnalité index.html avec du contenu hébergé sur S3 ?

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

  •  09-06-2019
  •  | 
  •  

Question

Existe-t-il un moyen de définir par défaut S3 sur une page index.html ?Par exemple.:Ma liste d'objets de bucket :

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

Un appel à www.exemple.com/index.html fonctionne très bien!Mais si l'on appelait www.exemple.com/ nous obtiendrions soit un document XML répertoriant les objets 403, soit REST, en fonction de la configuration de l'ACL au niveau du compartiment.

Alors, la question :Existe-t-il un moyen d'avoir la fonctionnalité index.html avec du contenu hébergé sur S3 ?

Était-ce utile?

La solution

Amazon S3 prend désormais en charge Indexer les documents

Le document d'indexation pour un seau peut être réglé sur quelque chose comme index.html.Lors de l'accès à la racine du site ou à un sous-répertoire contenant un document de ce nom, ce document est renvoyé.

C'est extrêmement simple à faire en utilisant aws cli :

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

Vous pouvez définir le document d'indexation depuis la console de gestion AWS :

enter image description here

Autres conseils

Pour ceux qui luttent encore contre cela après 3 ans, permettez-moi d'ajouter quelques informations importantes :

L'URL de votre site Web (et vers laquelle vous devez pointer votre DNS) n'est pas

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

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

Si vous utilisez le premier, il ne fonctionnera pas comme prévu, quelle que soit la configuration effectuée. Document d'indexation.

Pour un exemple spécifique, considérons :

Pour obtenir la véritable adresse de votre site Web, accédez à votre Console de gestion S3, sélectionnez le bucket cible, puis Properties, alors Static Website Hosting.Il affichera l'URL du site Web qui fonctionnera.

Vous pouvez facilement le résoudre par Amazon CloudFront lien.Sur Amazon CloudFront, vous pouvez modifier l'objet racine.Vous pouvez télécharger le gestionnaire ici :m1.mycloudbuddy.com/downloads.html.

Depuis que cela fait longtemps, cette question est posée et Amazon S3 change d'interface.Je voudrais répondre avec des captures d'écran mises à jour.

Nous devons activer « l'hébergement Web statique » pour que S3 serve d'hébergement Web.- Allez dans Propriétés -> cliquez sur Hébergement web statique -> Sélectionnez « utiliser ce compartiment pour héberger un site web » - Entrez le document d’index (index.html par défaut), le document d’erreur et les règles de redirection, le cas échéant.Selecting static web hosting

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

Comme répondu dans https://stackoverflow.com/a/24377823/3086531, le lien d'hébergement Web serait

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

Je suggérerais de lire ce fil à partir de 2006 (sur la connexion des développeurs de services Web Amazon).Il semble qu’il n’y ait pas de solution simple à ce problème.

Oui.l'utilisation d'AWS Cloudfront vous permet d'attribuer un fichier par défaut.

vous pouvez le faire en utilisant DNS Webforwards et le cloaking.il suffit de passer au chemin complet de l'index.html

www.example.com transmet à http://www.example.com.s3.amazonaws.com et assurez-vous de masquer la sortie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top