web-dev-qa-db-fra.com

Amazon S3: Sites Web statiques: domaine ou sous-domaine personnalisé

Amazon.com vient d'annoncer que l'on peut héberger des sites Web statiques dans un compartiment S3. Je suis allé sur leur page de configuration à http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html et j'ai créé un compartiment pour mon site Web statique, et cela a fonctionné bien. J'ai une URL du formulaire http: // [mon nom du compartiment] .s3-website-us-east-1.amazonaws.com /.

Cependant, je voudrais pointer un sous-domaine que je possède (par exemple static.mydomain.com) vers mon site Web statique sur Amazon S3. Quelqu'un a-t-il compris comment procéder?

J'apprécie toute aide que vous pouvez me donner.

75
Jay Godse

Il s'avère que pour le faire fonctionner, vous ne pouvez pas simplement mapper un sous-domaine arbitraire à un compartiment arbitraire. Le nom de sous-domaine complet doit être le même que le nom du compartiment S3.

  1. Supposons que le nom de votre site soit static.mydomain.com . Ensuite, vous devez créer un compartiment S3 avec le même nom, nommé static.mydomain.com .
  2. Une fois que vous avez configuré ce compartiment en tant que site Web statique S3, une URL lui sera attribuée qui ressemble à quelque chose comme http://static.mydomain.com .s3-website-us-east-1.amazonaws.com.
  3. Accédez à l'hôte de votre domaine et mappez votre sous-domaine à l'URL de l'étape 2. Dans enom.com, cela signifiait mapper l'hôte " statique "à l'adresse" static.mydomain.com.s3-website-us-east-1.amazonaws.com "en tant qu'enregistrement CNAME.

Merci à riah et David pour les suggestions. J'ai finalement obtenu ma réponse sur un forum Amazon AWS .

178
Jay Godse

Assurez-vous de suivre les conventions de dénomination du bucket DNS S lors de la création de votre bucket.

Ensuite:

  1. Activez la prise en charge du site Web S3 pour le compartiment à l'aide de la AWS Management Console dans Propriétés -> Site Web

  2. Assurez-vous que les fichiers du compartiment ont des autorisations de lecture publiques

  3. Essayez le site Web à l'aide du point de terminaison répertorié dans la console de gestion

  4. Configurez votre CNAME à l'aide du point de terminaison répertorié (par exemple, www.example.com CNAME www.example.com.s3-website-us-east-1.amazonaws.com)

5
Uriah Carpenter
  1. Créez une zone hébergée, par exemple mydomain.com. Vous pouvez utiliser une interface utilisateur Web DNS .
  2. Créez maintenant une entrée CNAME pour cette zone hébergée.
  3. Ajoutez un enregistrement de ressource avec les détails suivants Nom comme "mondomaine.com" Tapez comme "CNAME" Valeur comme "mondomaine.com.s3.amazonaws.com" TTl comme "sur votre configuration requise"

J'espère que cela fonctionnera également pour static.mydomain.com

Cordialement-

Udit

4
udit

C'est ce qu'on appelle l'hébergement virtuel des compartiments: http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html

4
luissquall

Que diriez-vous d'utiliser un service DNS, comme la Route 53 fournie par Amazon. Configurez-le avec un CNAME de votre sous-domaine vers l'URL du bucket public. Bien sûr, si votre société de domaine fournit une configuration CNAME, cela pourrait fonctionner directement.

3
David

Mise à jour 2019: AWS personnalisé sous-domaine hébergement en S3

À partir d'aujourd'hui, les étapes suivantes m'ont permis d'avoir un sous-domaine de travail pour le site Web statique hébergé par AWS S3:

  1. Créez un compartiment avec un nom de sous-domaine. Dans cet exemple, www. subtest . Mysite.com

aws bucket

Remarque: assurez-vous sur l'onglet "Autorisation" du compartiment: -Bloquer l'accès public (paramètres du compartiment) -La liste de contrôle d'accès et -La politique du compartiment sont correctement définies pour s'assurer que le compartiment est public. (En supposant que vous l'ayez déjà fait pour votre compartiment de domaine racine, ces paramètres peuvent être mis en miroir sur ce compartiment de sous-domaine)

AWS bucket permissions

  1. Téléchargez le fichier index.html dans le compartiment

index file in s3 bucket

  1. Créez un enregistrement CNAME avec votre fournisseur de domaine CNAME record in namecheap
1
zennni