web-dev-qa-db-fra.com

Rediriger les demandes non www vers www sur Amazon Route 53

Je souhaite 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 des enregistrements PTR, mais cela échoue tout simplement, renvoyant un 404.

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

Quelle est la manière la plus simple d'y parvenir?

45
flavian

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 faire cela du tout et vous devez demander à un site Web d'envoyer une redirection 301. Bien sûr, vous devez toujours envoyer les redirections 301 ou gérer le fait que certaines demandes arriveront sans www (bien que vous devriez envoyer des 301 pour des raisons de référencement).

La façon la plus simple de le faire est probablement de configurer un compartiment S3 avec le nom du domaine nu et de configurer les propriétés du compartiment pour rediriger de example.com vers www.example.com, puis dans Route 53, créez un alias pour le nu nom de domaine qui pointe vers ce compartiment S3.

D'après les commentaires

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

  • Configurer le compartiment - peu importe son nom et doit autoriser le public.
  • Dans le compartiment, cliquez sur Propriétés et sur Hébergement de site Web statique. Cliquez sur rediriger toutes les demandes vers un autre nom d'hôte et entrez le site vers lequel le trafic doit aller.
  • Copiez le point de terminaison du nom du compartiment et accédez à la zone hébergée dans la console Route53 et ajoutez un CNAME avec l'alias Non à l'URL à partir de laquelle vous devez être redirigé et collez le point de terminaison du compartiment comme valeur.
51
Michael Hampton

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 rediriger les 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 que vous utilisez. Le plus populaire est d'utiliser mod_rewrite avec Apache. Ce site est truffé de questions mod_rewrite, quelques recherches devraient obtenir ce que vous voulez.

6
pauska

Vous pouvez le faire à l'aide d'un compartiment s3. Les étapes sont collées ci-dessous:

Étape 1. Créez un compartiment s3.

Étape 2. Créez le compartiment en tant qu'hébergement de site Web statique avec redirection.

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

A - Adresse IPv4 -> Alias ​​Oui -> Cible d'alias (Sélectionnez le point de fin du compartiment s3 dans la liste déroulante).

Étape 4. Enregistrer le jeu d'enregistrements.

5
Arunlal Ashok

AWS Route53 ne prend actuellement pas en charge la redirection de ce qui est actuellement connu sous le nom d'enregistrement APEX (le domaine racine) vers un autre nom de domaine, bien qu'ils travaillent sur une solution.

J'ai atteint cet objectif en créant un enregistrement A (alias) qui pointe mon domaine racine (devopsfolks.com) vers l'adresse IP de ma solution hébergée WP ... Et la réponse est oui, si l'IP change, vous devrez changer l'alias. Cependant, le fournisseur m'a garanti que l'IP est fixe à moins qu'il n'ait besoin d'effectuer une sorte de reprise après sinistre et de changer le matériel, auquel cas il mettra un proxy ensemble pour effectuer la redirections tout en donnant aux clients 45 jours pour modifier leur cartographie.

0
Marco Tedone