Comment faire la redirection de site avec AWS S3?

Qu'est-ce que la redirection de site? Lorsque nous voulons rediriger un site "www.myolddomain.com" vers "www.mynewdomain.com", il est appelé redirection de site. L'URL du navigateur de l'utilisateur change également avec le code d'état HTTP 301, indiquant que "www.myolddomain .com »est définitivement déplacé vers« www.mynewdomain.com ». Ceci est généralement fait dans le cas où nous souhaitons renommer notre produit avec un nouveau domaine.

La redirection de site ne peut pas être effectuée simplement à l'aide d'un enregistrement CNAME au niveau du serveur DNS. Si nous utilisons simplement l'enregistrement CNAME pour pointer "www.mondomaine.com" sur "www.mondomaine.com", l'URL ne sera pas redirigé dans le navigateur de l'utilisateur. et il sera toujours affiché comme «www.myolddomain.com» avec le contenu de «www.mynewdomain.com».

AWS S3 est célèbre pour son hébergement Web statique et prend également en charge la redirection de site. Nous n’avons donc pas besoin d’exécuter de serveur Nginx ou Apache pour gérer les redirections de site.

Voyons comment faire cela en utilisant S3 et Route 53

  1. Nous devons créer un compartiment avec le nom «www.myolddomain.com» (remplacez myolddomain par votre domaine et sélectionnez la région de manière appropriée).
Créer un compartiment S3 à l'aide de la console AWS S3

2. Nous devons procéder à la redirection du site à l’aide de la fonctionnalité «Hébergement Web statique» de S3.

Sélectionnez un seau et cliquez sur PropriétésCliquez sur hébergement de sites statiquesDéfinissez la redirection sur un nouveau domaine et sélectionnez le protocole approprié.

3. Nous pouvons maintenant tester la redirection en cliquant sur le lien indiqué.

Cliquez sur le lien marqué pour tester la redirection

4. Route 53 est un service DNS AWS garanti 100% du temps. Si vous utilisez Route 53 pour votre domaine, procédez comme suit. Sinon, vous pouvez définir l'URL ci-dessus en tant que CNAME dans votre domaine à l'aide de votre domaine. enregistreur.

À partir de la console Route 53, cliquez sur Créer une zone hébergée.Entrez votre ancien nom de domaine et cliquez sur Créer

5. Nous devons créer un enregistrement DNS pour la zone hébergée sur la Route 53 afin de configurer la redirection.

Sélectionnez la zone hébergée appropriée et cliquez sur Créer Créer un jeu d'enregistrements.

6. Nous devons créer un enregistrement A pour “www.myolddomain.com” pour utiliser Alias ​​afin de pointer vers le compartiment S3 créé précédemment.

Sélectionnez S3 Website Endpoint et cliquez sur Créer.

7. Nous devons également créer un enregistrement A pour myolddomain.com, car certains utilisateurs pourraient taper http://myolddomain.com. Donc, la redirection devrait également s'appliquer à cette adresse.

Sélectionnez le jeu d’enregistrements www.mondomaine.com et cliquez sur Créer.Tous les enregistrements DNS de myolddomain.com Route53

8. Maintenant vous pouvez tester en allant sur http://myolddomain.com et http://www.myolddomain.com, il devrait rediriger vers http://www.mynewdomain.com

Qu'en est-il de la redirection d'URL de site HTTPS?

Si vous avez remarqué que https://www.myolddomain.com ne sera pas redirigé vers le nouveau domaine. Le processus ci-dessus est suffisant si le site: myolddomain.com ne prend en charge que le protocole HTTP, mais si nous devons prendre en charge la redirection d’URL de sites HTTPS, nous devons ajouter deux composants supplémentaires: CloudFront et ACM (AWS Certificate Manager).

L'hébergement Web statique S3 ne prend pas en charge le protocole HTTPS. Par conséquent, pour prendre en charge le protocole HTTPS, nous devons utiliser CloudFront.

Créez une distribution CloudFront avec l'origine S3: www.myolddomain.com.s3-website.ap-south-1.amazonaws.com (URL de site Web statique S3 que nous avons configurée précédemment à l'aide de la console S3).

Utiliser cette URL comme origine dans CloudFront

Ne suivez pas la suggestion de CloudFront de choisir l’URL du compartiment S3 lors de la création de l’origine. Si vous suivez la suggestion, l’URL de l’origine devient: www.mondomaine.com.s3.amazonaws.com et la redirection du site ne fonctionnera pas correctement avec cette URL d’origine. Définissez également les noms de domaine alternatifs (CNAME) sur www.myolddomain.com, sinon le transfert DNS Route53 ne fonctionne pas.

CloudFront demandera un certificat SSL car il est nécessaire de prendre en charge le trafic HTTPS. Nous devons donc tout d'abord créer un nouveau certificat ou importer un certificat existant dans ACM, puis l'utiliser pour la distribution CloudFront. Veuillez noter que lors de la sélection du certificat SSL, assurez-vous qu'il est associé à myolddomain.com, sinon vous obtiendrez des erreurs de certificat; Assurez-vous également que le certificat ACM est créé dans la région de Virginie du Nord (us-east-1), car CloudFront n'autorise les certificats que de cette région.

Une fois la distribution CloudFront créée, attendez son déploiement, puis mettez à jour un enregistrement A dans Route 53 pour «www.myolddomain.com» avec le nom de domaine de distribution.

Maintenant, testez la redirection HTTPS en vous rendant sur https://www.myolddomain.com.

Cette procédure ne fonctionne que pour une redirection de site unique, mais si vous souhaitez configurer plusieurs sites, je vous recommande de consulter le blog suivant:

Conclusion

Nous avons appris à configurer la redirection de site pour les points de terminaison HTTP et HTTPS. Essayez-le et laissez-moi savoir si vous avez rencontré des problèmes, je vais vous aider.