75 votes

Amazon CloudFront ne respecte pas les règles index.html de mon site Web S3

Je suis l'hébergement d'un site web statique sur Amazon S3 en utilisant le site web statique option d'hébergement, de sorte que le S3 se rendre un dossier sans me faire explicitement le point à ma index.html fichier.

Par exemple, voici un lien direct vers une page dans mon compartiment S3: http://new.rdegges.com.s3-website-us-east-1.amazonaws.com/category/2009/ Comme vous pouvez le voir, lorsque vous visitez cette URL, Amazon S3 rend automatiquement les index.html fichier à l'intérieur de ce répertoire, ce qui me permet d'avoir des URLs propres.

Tout cela fonctionne très bien sur S3. Le problème que je vais avoir est l'obtention d'Amazon Cloudfront pour traiter correctement ce problème ainsi. Lorsque je crée une Distribution Cloudfront avec mon S3 seau spécifié comme étant l'origine, et dites-lui à utiliser "index.html' en tant que root, le index.html comportement S3 vient de cesse de travailler tous ensemble.

Par exemple, voici mon URL comme ci-dessus sur Cloudfront: http://d1mj00c6pby3gc.cloudfront.net/category/2009/

Malheureusement, l'URL ci-dessus ne fonctionne PAS, mais si je spécifier manuellement le fichier d'index, il n', e.g: http://d1mj00c6pby3gc.cloudfront.net/category/2009/index.html

Ma question est: comment dois-je configurer Cloudfront telle qu'elle respecte mon S3 seau paramètres pour mon site web?

121voto

Wade Matveyenko Points 2018

Les fonctionnalités du site Web S3 peuvent être utilisées conjointement avec Amazon CloudFront. Cependant, le site Web S3 utilise un nom de domaine différent de celui des compartiments S3 standard. Dans ce cas, vous devrez définir Origin Domain Name de la configuration d'origine de votre distribution CloudFront sur new.rdegges.com.s3-website-us-east-1.amazonaws.com . Une fois que CloudFront pointe vers le nom de domaine du site Web S3, les fonctionnalités du site Web S3 devraient fonctionner.

25voto

yagudaev Points 1286

Je voudrais ajouter quelques choses pour la accepté de répondre.

Tout d'abord, assurez-vous d'avoir un Default Root Object sur votre nuage avant. Comme spécifié dans la documentation ceci ne s'applique pas à l' subdirectories.

Lors de la configuration d'une nouvelle distribution de cloudfront, il vous permettra de sélectionner votre seau bucket-name.s3.amazonaws.com. Remarque la région n'est pas spécifié dans l'URL. Ce que vous devez faire est de saisir la statique url du site à partir de s3 et de l'utiliser comme origin url (la région seront là).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X