Rediriger les demandes non-www vers www sur Amazon Route 53


44

Je veux rediriger toutes les demandes de example.comà www.example.com.

De préférence, cela devrait se produire au niveau DNS. J'ai essayé d'utiliser les enregistrements PTR, mais cela a simplement échoué, renvoyant un 404.

wwww.example.com est un ALIAS pour un équilibreur de charge élastique.

Quel est le moyen le plus simple d'y parvenir?


Qu'avez-vous essayé avec les enregistrements PTR? Je suis curieux.
TRiG

@flavian l'affiche a demandé une réécriture DNS, et non une réécriture d'URL, et il a spécifiquement déclaré qu'il se fichait totalement de l'apparence de l'URL.
Pauska

4
@flavian, vous avez dit vouloir faire la redirection dans le DNS. Ma réponse explique comment procéder dans le DNS. Si vous souhaitez rediriger l'URL, vous avez besoin d'une réécriture d'URL. Cela n'a rien à voir avec le DNS.
Pauska

Y a-t-il une raison particulière pour le faire? Je le ferais dans l'autre sens .
nyuszika7h

SAN dans EV SSL.
Savian

Réponses:


50

Si vous utilisez déjà Route 53, vous pouvez utiliser leur alias propriétaire "record" pour résoudre ce problème. Avec le DNS standard, vous ne pouvez pas le faire du tout et vous devez avoir un site Web envoyer une redirection 301. Bien sûr, vous devez toujours envoyer les redirections 301 ou gérer le fait que certaines requêtes arriveront sans le www (bien que vous deviez envoyer des 301 pour des raisons de référencement).

La méthode la plus simple consiste probablement à configurer un compartiment S3 avec le nom du domaine nu et à configurer les propriétés du compartiment afin qu'elles soient redirigées depuis example.com vers www.example.com, puis créez un alias pour le domaine nu dans Route 53. nom de domaine qui pointe vers ce compartiment S3.

Des commentaires

Pour améliorer la réponse, voici ce que nous avons fait pour que cela fonctionne:

  • Mettre en place un seau - peu importe son nom et son autorisation au public.
  • Dans le compartiment, cliquez sur Propriétés, puis sur Hébergement de site Web statique. Cliquez sur rediriger toutes les demandes vers un autre nom d'hôte et entrez le site sur lequel vous souhaitez que le trafic aille.
  • Copiez le noeud final du nom du compartiment, accédez à la zone hébergée dans la console Route53 et ajoutez un CNAME avec le numéro d'alias à l'URL à partir de laquelle vous devez être redirigé et collez le noeud final du compartiment comme valeur.

@ michael-hampton corrigez-moi si je me trompe, mais le compartiment S3 ne redirige que pour le nom de domaine nu sans chemin d'accès, n'est-ce pas? J'ai correctement ajouté un compartiment S3 à mon domaine, mais il redirige uniquement le domaine nu et ne redirige pas les éléments comportant un chemin. J'imagine que le mod rewrite est la voie à suivre?
John Harding

@JohnHarding Je ne sais pas. Je n'utilise plus la plupart des services Amazon AWS, y compris S3.
Michael Hampton

2
Pour améliorer la réponse, voici ce que nous avons fait pour que cela fonctionne: - Configurez un seau - peu importe son nom, il doit être accessible au public. - Dans le compartiment, cliquez sur les propriétés, puis sur l'hébergement de site Web statique. Cliquez sur rediriger toutes les demandes vers un autre nom d'hôte et entrez le site sur lequel vous souhaitez que le trafic aille. - Copiez le noeud final du nom du compartiment, accédez à la zone hébergée de la console Route53 et ajoutez un CNAME avec le numéro d'alias à l'URL à partir de laquelle vous devez être redirigé, puis collez le noeud final du compartiment comme valeur.
NathanQ

4
Cela ne fonctionne que pour les requêtes http, car S3 ne prend pas en charge https. Les demandes https://example.coméchoueront.
Harry King

pour vous https://example.comrediriger vers https://www.example.comvous, il est triste de devoir configurer un autre cloudfront pointant sur un compartiment avec une redirection http statique vers le www.example.com. Il est à noter que vous devez ajouter le domaine apex dans le CNAMEchamp de votre configuration
Cloudfront

6

Pour un alias DNS, vous devez simplement ajouter un enregistrement CNAME ou A dans DNS. Voir ma réponse ici: Comment puis-je rediriger www vers non-www dans Route53?

Pour la réécriture d'URL (comme pour la redirection des clients vers une autre adresse), vous avez besoin d'une forme de logique de réécriture d'URL effectuée sur le serveur Web. Il existe plusieurs façons de procéder, et cela dépend du type de serveur Web utilisé. Le plus populaire utilise mod_rewrite avec apache. Ce site regorge de questions mod_rewrite, quelques recherches devraient vous permettre d'obtenir ce que vous voulez.


J'ai utilisé CNAME sur mon srv interne bind9 il y a exactement une heure, mais les résultats ne sont pas les mêmes que pour la réécriture d'URL. Lorsque vous entrez ce CNAME dans la barre d'adresse du navigateur, vous obtenez exactement cette URL, elle ne change pas pour l'URL indiquée par CNAME. J'utilise apache mod_rewrite maintenant, en envoyant 301 quand il n'y a pas de www. préfixe.
Kitet

3
La réponse que vous lien vers est pour envoyer www.domain.comà domain.com. Cette question concerne le contraire. Votre solution d’utilisation CNAMEou d’ Aenregistrement fonctionne-t-elle pour l’envoi domain.comà www.domain.com?
Carl G

4

Vous pouvez le faire en utilisant un seau s3. Les étapes sont collées ci-dessous:

Étape 1. Créez un compartiment s3.

Étape 2. Faites du compartiment un hébergement de site Web statique avec redirection.

Étape 3. Modifiez l'entrée AWS Route 53 pour un domaine autre que www.

A - Adresse IPv4 -> Alias ​​Oui -> Alias ​​Target (Sélectionnez le point final du compartiment s3 dans le menu déroulant).

Étape 4. Sauvegardez le jeu d’enregistrements.


0

AWS Route53 ne fournit actuellement aucune assistance pour rediriger ce que l'on appelle actuellement un enregistrement APEX (le domaine racine) vers un autre nom de domaine, bien qu'ils travaillent à une solution.

Pour ce faire, j'ai créé un enregistrement A (alias) qui pointe mon domaine racine (devopsfolks.com) sur l'adresse IP de ma solution hébergée WP ... Et la réponse est oui, si l'adresse IP change, vous aurez besoin de pour changer l'alias. Toutefois, le fournisseur m'a assuré que l'adresse IP était corrigée, à moins qu'il ne soit nécessaire d'effectuer une récupération après sinistre et de modifier le matériel. Dans ce cas, il créera un proxy pour effectuer les redirections tout en laissant un délai de 45 jours aux clients pour modifier leur mappage.


5
A ne signifie pas alias, cela signifie adresse. Et vous pouvez facilement faire une redirection avec Route 53 à l’aide de la méthode de compartiment S3 indiquée ci-dessus.
Michael Hampton

"Ils travaillent sur une solution", y a-t-il eu des mises à jour à ce sujet?
Tom
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.