Comment pouvez-vous définir une valeur par défaut de l'objet racine de sous-répertoires pour un statiquement site web hébergé sur Cloudfront?

Comment pouvez-vous définir une valeur par défaut de l'objet racine de sous-répertoires sur un statiquement site web hébergé sur Cloudfront? Plus précisément, j'aimerais www.example.com/subdir/index.html pour être servi, chaque fois que l'utilisateur demande www.example.com/subdir. Remarque, c'est pour livrer un site web statique détenus dans un compartiment S3. En outre, je voudrais utiliser une origine de l'accès à l'identité de restreindre l'accès au compartiment S3 à seulement Cloudfront.

Maintenant, je suis conscient que Cloudfront fonctionne différemment de la S3 et amazon états plus précisément:

Le comportement de CloudFront racine par défaut des objets est différente de la
le comportement d'Amazon S3 index des documents. Lorsque vous configurez un Amazon S3
seau comme un site web et de spécifier l'index de document, Amazon S3 retourne
l'indice de document, même si un utilisateur demande un sous-répertoire dans le
seau. (Une copie du document d'index doit apparaître dans chaque
sous-répertoire.) Pour plus d'informations sur la configuration d'Amazon S3
les seaux que les sites web et sur l'indice de documents, voir l'Hébergement
Sites internet sur Amazon S3 chapitre dans l'Amazon Simple Storage Service
Guide Du Développeur.

En tant que tel, même si Cloudfront nous permet de spécifier une valeur par défaut de l'objet racine, cela ne fonctionne que pour www.example.com et pas pour www.example.com/subdir. Afin de contourner cette difficulté, nous pouvons changer l'origine de nom de domaine pour pointer vers le site web de l'extrémité donné par S3. Cela fonctionne très bien et permet à la racine des objets pour être spécifiée de manière uniforme. Malheureusement, cela ne semble pas être compatible avec l'origine de l'accès des identités. Plus précisément, les liens ci-dessus, les états:

Passer en mode d'édition:

Web distributions – Cliquez sur les Origines de l'onglet, cliquez sur l'origine que vous souhaitez modifier et cliquez sur modifier. Vous ne pouvez créer qu'une origine de l'accès
d'identité pour les origines dont l'Origine est de Type S3 Origine.

Fondamentalement, dans le but de régler les paramètres par défaut de la racine de l'objet, nous utilisons le S3 du site web d'extrémité, et non le site web de seau d'elle-même. Ce n'est pas compatible avec l'aide de l'origine de l'accès à l'identité. En tant que tel, mes questions se résume soit à

  1. Est-il possible de spécifier une valeur par défaut de l'objet racine de tous les sous-répertoires pour un statiquement site web hébergé sur Cloudfront?

  2. Est-il possible de configurer l'origine de l'accès à l'identité du contenu servi de Cloudfront où l'origine est un S3 site web d'extrémité, et non un compartiment S3?

  • Je pense que c'est maintenant faisable avec un Lambda@edge, à l'aide d'une fonction qui permet de rediriger toutes les Url se terminant en / de /index.html je vais l'essayer sur mon site et d'en faire rapport, les résultats et après la configuration détaillée comme une réponse.
InformationsquelleAutor wyer33 | 2015-06-24