J'essaie d'héberger du contenu statique dans un compartiment Amazon S3 et d'avoir ce contenu disponible via mon propre domaine.

Le compartiment en question s'appelle "e.tl-dr.org" et j'ai défini "index.html" comme document d'index. Je peux visiter http://e.tl-dr.org.s3-website-us-east-1.amazonaws.com/ et je vois le contenu de index.html (juste "test"). Cela fonctionne bien.

J'ai également ajouté l'entrée CNAME pour "e.tl-dr.org" pointant vers "s3.amazonaws.com" depuis le site de mon registraire. (Je n'utilise pas les services DNS AWS Route 53, ce sur quoi la plupart des didacticiels à ce sujet semblaient être axés.) Alors maintenant, " http://e.tl-dr.org/index.html " affiche correctement le fichier, mais juste le domaine nu ne me donne que le message 403 standard de S3.

Y a-t-il autre chose que je dois configurer pour que cela fonctionne?

answer

Pour que les fonctionnalités du site Web telles que les documents d'indexation fonctionnent, vous devez CNAMEpointer vers le point de terminaison du site Web bucketname.s3-website-us-east-1.amazonaws.com, et non vers le point de terminaison REST bucktname.s3.amazonaws.com.

When you configure a bucket for website hosting, the website is available via the region-specific website endpoint. Website endpoints are different from the endpoints where you send REST API requests.

http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html

Les requêtes GET pour les objets réels fonctionnent correctement sur les deux points de terminaison, mais comme l'indiquent les documents, les documents d'erreur et d'index personnalisés, ainsi que les redirections, ne sont pris en charge que via les demandes qui arrivent au point de terminaison du site Web.