Je travaille sur une petite application Web (tout côté client), je souhaite l'héberger sur Amazon S3. J'ai trouvé plusieurs guides à ce sujet et j'ai réussi à me créer un seau (avec le même nom que mon domaine), à le définir comme site Web et à télécharger du contenu.
Là où j'ai du mal, et où toute la documentation commence à devenir un peu vague, c'est comment configurer correctement mon DNS.
Tout ce que mon registraire ( 123-reg ) pouvait suggérer était le transfert Web qui me donne mydomain.com.s3.amazonaws.com
Que dois-je configurer et où (par exemple, 123-reg / Amazon) puis-je obtenir une URL propre?
dns
amazon-s3
amazon-web-services
hosting
Merlin Mason
la source
la source
Réponses:
On dirait que vous avez déjà fait l'essentiel du travail. Pour plus de clarté, je vais reprendre ces étapes juste pour m'assurer que vous êtes correctement configuré:
Créez un bucket s3 en utilisant votre nom de domaine comme nom de bucket (votre nom de bucket doit être www.example.com si vous souhaitez que votre site soit example.com ou www.example.com)
Téléchargez votre contenu dans le compartiment s3. Choisissez un nom cohérent pour les fichiers d'index de votre site Web (généralement index.html). Vous pouvez également télécharger une page personnalisée pour les erreurs 404 Not Found. Appelez ce 404.html. Accordez des autorisations de lecture à chaque fichier de votre site Web afin que le public puisse le consulter. N'accordez aucune autorisation supplémentaire au bucket, uniquement aux fichiers qu'il contient.
Configurez votre bucket en tant que site Web. Avec la console AWS ( https://console.aws.amazon.com/s3/ ), vous pouvez sélectionner votre bucket, cliquer sur les propriétés, puis sélectionner l'onglet "Site Web". Cliquez sur activé et définissez votre document d'index sur "index.html" et votre document d'erreur sur "404.html". Vous devrez également définir votre compartiment avec des autorisations d'accès pour autoriser l'accès via le Web ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )
Notez l'URL "Endpoint" dans l'onglet de configuration du site Web. C'est là que vit votre site Web. Vous pouvez ouvrir le lien dans une nouvelle fenêtre et vous devriez voir votre site Web tel qu'il apparaîtra. Cliquez autour et assurez-vous que tout fonctionne comme prévu.
Vous DEVEZ utiliser l'adresse du point final dans toutes les étapes ci-dessous. Le site www.example.com.s3.amazonaws.com normal ne fonctionnera pas - vous devez utiliser la version régionale ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )
Maintenant, nous pouvons configurer le DNS pour vous donner une URL propre et personnalisée.
Tout d'abord, nous mapperons www.example.com sur votre site.
À l'aide des outils de votre fournisseur DNS (123-reg dans votre cas), vous devez créer un enregistrement CNAME pour mapper www.example.com à www.example.com.s3-website-us-east-1.amazonaws.com
Le CNAME est la seule chose dont vous avez besoin si vous voulez juste www.example.com. La plupart des gens veulent également que "example.com" fonctionne, nous avons donc besoin d'une autre étape.
example.com est souvent appelé un domaine nu ou l'enregistrement apex du domaine. La raison pour laquelle c'est un problème est qu'il ne peut pas s'agir d'un CNAME. Les CNAME ne fonctionnent que sur des sous-domaines tels que "www." Cela rend plus difficile de pointer vers s3.
L'approche habituelle consiste à utiliser un service pour rediriger automatiquement toute demande allant à example.com pour pointer vers www.example.com. Cela récupérera ensuite votre enregistrement CNAME et votre site sera servi à partir de s3.
La redirection automatique n'est pas possible avec un DNS ancien, vous devez donc utiliser un autre service. Certains fournisseurs DNS offrent ce service avec leur DNS (godaddy le fait, amazon route53 ne le fait pas. Je ne suis pas sûr de 123-reg)
Si votre fournisseur DNS ne le fait pas, il existe quelques services gratuits. Celui que j'ai utilisé est http://wwwizer.com/naked-domain-redirect - il ne nécessite aucune inscription ni paiement.
Pour utiliser ce type de service, vous devez créer un enregistrement DNS «A» pour votre domaine nu. Pour le service wwwizer.com, vous devez créer un enregistrement A pour pointer example.com vers 174.129.25.170. C'est tout!
Ainsi, avec cette configuration, si un utilisateur tape example.com dans son navigateur, ce qui suit se produit:
Prendre plaisir!
la source
Je pense que vous devez sélectionner tous les documents de votre bucket, cliquer avec le bouton droit de la souris et choisir "Rendre public". Vous devez également le faire à chaque fois que quelque chose change dans le seau. Je fais ensuite un clic droit sur le seau, choisis les propriétés, choisis les autorisations dans le volet de droite, puis ajoute «Tout le monde en tant que« bénéficiaire », puis ne leur donne que les autorisations de« liste ». Le reste de votre article est excellent. La partie sur le domaine nu m'a aidé Je résous mes problèmes. Vous pouvez également faire rediriger le domaine nu vers le domaine www dans S3 sous "Hébergement de site Web statique" C'est probablement le moyen le plus simple. Merci encore pour votre aide.
Tim
la source
Mise à jour 2019
À partir d'aujourd'hui, le paramètre DNS suivant a fonctionné pour moi pour que le site Web statique AWS S3 fonctionne:
la source
Depuis l'écran Advanced DNS sur votre panneau de contrôle 123-reg
Cela m'a donné ce qui suit;
DNS EntryType PriorityTTLDestination/Target
* A 81.xx.xx.xx
@ A 81.xx.xx.xx
@ MX 10 xx0.123-reg.co.uk
@ MX 20 xx1.123-reg.co.uk
www CNAME www.example.com.s3-website-us-east-1.amazonaws.com
De leur guide de gestion DNS pdf il est dit que "@ record" fait référence à "votre domaine dans sa forme la plus pure sans sous-domaine", c'est-à-dire le domaine nu stackoverflow.com
Mais il ne mentionne pas ce qu'est le "* record", j'ai supposé que ce serait pour attraper tous les sous-domaines et j'ai pensé qu'il pourrait dépasser l'enregistrement CNAME mais cela ne semble pas être le cas.
la source