web-dev-qa-db-fra.com

Heroku / GoDaddy: envoyez un domaine nu à www

J'essaie de comprendre comment obtenir le domaine nu pour que mon site Web redirige vers le domaine www. J'utilise Heroku et j'ai le domaine de GoDaddy. À cause de Heroku, mes disques A sont déjà configurés comme suit:

@: 75.101.145.87

@: 75.101.163.44

@: 174.129.25.170

Et mon www CNAME pointe sur proxy.heroku.com.

J'ai cherché partout sur Internet, mais je ne trouve pas de réponse simple et gratuite sur la façon dont je peux faire cette redirection. Certaines réponses traitent de l’utilisation de services payants, ce que je ne souhaite pas faire, d’autres évoquent la modification des paramètres Heroku, mais ne donnent pas vraiment beaucoup d’explications. À l'heure actuelle, si vous allez dans mon domaine nu, c'est simplement Heroku qui dit qu'aucune application de ce type n'existe, alors que si vous allez dans mon domaine www, c'est mon application.

142
Andrew Latham

Sur GoDaddy, utilisez la fonction "Transfert" pour configurer un transfert à partir de yourdomain.com à www.yourdomain.com. La fonctionnalité de transfert est accessible dans le gestionnaire de domaine au bas de la section "Informations de domaine":

Domain forwarding in GoDaddy

Si vous faites cela, alors tout le trafic sur votredomaine.com sera acheminé vers l'application Heroku CNAME (qui est le meilleure approche ).

Une note, cependant, si vous êtes sur le pile de cèdre alors n’utilisez pas proxy.heroku.com pour l'hôte de votre www CNAME. Utilisez plutôt your-app-name.herokuapp.com. Ces détails sont couverts ici .

GoDaddy a également spécifie que, pour que votre nom de domaine puisse être transféré, son enregistrement A doit être pointé sur 64.202.189.170 ou se situer entre les plages suivantes: 50.63.202.1 - 50.63.202.31 ou 184.168.221.1 - 184.168.221.31.

230
Ryan Daigle

Vous pouvez également utiliser http://wwwizer.com pour transférer de votre domaine nu vers votre www. Dans GoDaddy dans le gestionnaire DNS sous l'enregistrement A dans le type de rubrique @ dans 174.129.25.170. Ils vont automatiquement rediriger du domaine nu vers un avec www. devant elle.

22
TMilligan

Dans l'éditeur de zone DNS de GoDaddy, vous souhaiterez configurer votre enregistrement CNAME www pour qu'il pointe vers @. Dans votre enregistrement A, vous utiliserez un caractère générique (*) pour désigner l'adresse IP et un second enregistrement A qui utilise @ en tant qu'hôte et qui pointe également vers l'adresse Web. Par ici,

subdomain1.example.com will forward to your IP
www.example.com will forward to your IP
silly.example.com will forward to your IP
anything.example.com will forward to your IP

enter image description here

Foire aux questions

Puis-je pointer * .mondomaine.com sur mon application Heroku?

Oui, en utilisant la fonctionnalité gratuite de domaines personnalisés de Heroku, vous pouvez pointer un domaine générique vers votre application.

Quelles adresses IP dois-je utiliser pour pointer mon domaine personnalisé vers Heroku?

La pile de routage Heroku utilise une collection d'adresses IP qui peuvent changer à tout moment, et l'utilisation d'enregistrements A pour désigner votre application n'est pas prise en charge. Pour vous assurer que votre domaine pointe toujours correctement sur le maillage de routage, configurez les sous-domaines (par exemple, www dans www.example.org) à l'aide d'un enregistrement CNAME:

If the app is on…   Then CNAME the subdomain to
Bamboo  yourapp.heroku.com
Cedar   yourapp.herokuapp.com

Les domaines nus (ou nus/apex) (par exemple, example.org) doivent être évités en raison de leurs conséquences sur la disponibilité et la disponibilité.

Pourquoi ne puis-je pas ajouter subdomain.mydomain.com à mon application?

Dans certains cas, toute tentative visant à ajouter un domaine personnalisé (tel que subdomain.mydomain.com) pour une application peut générer une erreur comme celle-ci:

 ! mydomain.com is owned by another user

Toutes les applications d'un domaine de base donné doivent appartenir au même compte Heroku. L'erreur ci-dessus signifie que quelqu'un d'autre a déjà ajouté un domaine personnalisé mydomain.com à l'une de ses applications.

7
kobaltz

Si vous avez les adresses IP configurées sur votre domaine nu et votre www cname sur votre nomapp.herokuapp.com, il vous suffira d'utiliser quelque chose comme RackRewrite dans votre application pour rediriger les demandes lorsqu'elles arriveront. à votre demande.

Ce que vous voulez configurer, c'est que toute demande adressée au domaine nu est redirigée vers votre adresse www. Après avoir suivi les instructions d’installation, ajoutez un initialiseur dans config/initializers

 ApplicationName::Application.config.middleware.insert_before(Rack::Lock, Rack
 r301 %r{.*}, 'http://www.yourdomain.com$&', :if => Proc.new {|rack_env
  rack_env['SERVER_NAME'] != 'www.yourdomain.com'
 }
 end if Rails.env == 'production'

Ce qui veut dire que si l'URL demandée n'est pas www.votredomaine.com, alors 301 la rediriger vers www.yuordomain.com, mais uniquement si elle est en cours de production.

5
John Beynon

Pour que cela fonctionne avec Network Solutions, procédez comme suit:

Network Solutions pointant yourdomain.com vers www.votredomaine.com. Voici comment.

  1. Dans Account Manager , sélectionnez Mes noms de domaine .

  2. Sélectionnez le nom de domaine que vous souhaitez gérer

  3. Dans la case verte, sélectionnez Changer le point de domaine

  4. Sélectionnez DNS avancé , puis continuez.

  5. Commencez par éditer les enregistrements A en sélectionnant Éditer les enregistrements A

    Pour "@ none", entrez l'adresse IP 205.178.189.129 suivante, effacez les enregistrements des "www" et "* (tous les autres)", puis sélectionnez Continuer.

  6. Deuxièmement, éditez les alias d’hôte (enregistrements CNAME) en sélectionnant Editer les enregistrements CNAME.

    Entrez "www" dans la colonne Alias

    Laissez TTL défini sur 7200 mais sur la même ligne, entrez les serveurs de noms fournis par le service de blogging dans la section Autre hôte [IE FOLLOW LES INSTRUCTIONS HEROKU NOW www -> yourapp.herokuapp.com (Cedar Stack)]

    Sélectionnez Continuer

Maintenant, attendez et vérifiez le ou les domaines avec la commande de terminal suivante:

Host domain.com
Host www.domain.com
3
blnc