Heroku / GoDaddy: envoyer le domaine nu à www [fermé]

142

J'essaie de comprendre comment obtenir le domaine nu pour que mon site Web soit redirigé vers le domaine www. J'utilise Heroku et j'ai le domaine de GoDaddy. Grâce à Heroku, mes enregistrements A sont déjà configurés comme:

@: 75.101.145.87

@: 75.101.163.44

@: 174.129.25.170

Et mon www CNAME pointe vers 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 parlent de l'utilisation de services payants, ce que je ne veux pas faire, et d'autres parlent d'entrer et de modifier les paramètres Heroku, mais ne donnent pas vraiment beaucoup d'explications. Pour le moment, si vous accédez à mon domaine nu, c'est juste Heroku qui dit qu'aucune application de ce type n'existe, tandis que si vous accédez à mon domaine www, c'est mon application.

Andrew Latham
la source
8
La FAQ Heroku indique uniquement comment faire la redirection avec DNSimple. Leur page de support est liée à StackOverflow.
Andrew Latham
32
Je pense que la réponse d'Emil est un peu dure à ce sujet, ce site est une ressource pour résoudre les problèmes que nous avons tout au long du parcours de programmation et c'est un problème que j'ai en ce moment! : D
Daniel Morris
Cela devrait probablement être fermé en tant que Dupe au lieu de Off-Topic: stackoverflow.com/questions/16022324/…
Chris Moschini
2
@ChrisMoschini la réponse acceptée à la question que vous référencez ne fonctionne pas sur GoDaddy car GoDaddy ne prend pas en charge les enregistrements ALIAS, uniquement CNAME. C'est sa propre question, je pense.
Topher Hunt
1
Quel que soit A Records, il n'y a aucune possibilité d'avoir un domaine nu pointé directement vers heroku. Nous ne pouvons le configurer que pour être acheminé vers wwwlequel CNAME est pointé your-app-name.herokuapp.com.
Chetabahana

Réponses:

231

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

Transfert de domaine dans GoDaddy

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

Une note, cependant, si vous êtes sur la pile Cedar, ne l'utilisez pas proxy.heroku.compour l'hôte de votre wwwCNAME. Utilisez plutôt your-app-name.herokuapp.com. Ces détails sont traités ici .

GoDaddy spécifie également que pour que votre nom de domaine soit transféré, son enregistrement A doit pointer vers 64.202.189.170 ou doit se situer entre les plages suivantes: 50.63.202.1 - 50.63.202.31 ou 184.168.221.1 - 184.168.221.31.

Ryan Daigle
la source
14
cela crée-t-il un avertissement / une erreur si vous utilisez SSL comme le prétend heroku? ils ont dit que si https: // example.com est redirigé, il y a un avertissement.
Jaqx
2
@jaqx, cela m'arrive, avez-vous trouvé un moyen d'éviter que les utilisateurs reçoivent cet avertissement?
jackerman09
3
@ jackerman09 Je suis juste fatigué des tracas et je suis passé à DNSimple
Jaqx
5
@Matt il n'y a aucun moyen de faire ça avec GoDaddy. Utilisez la fonction ALIAS / ANAME d'autres fournisseurs comme DNSimple ou DNS Made Easy si vous en avez besoin.
Ryan Daigle
3
@RyanDaigle Merci Ryan. Je recommande à tout le monde de quitter godaddy pour plus d'une raison . NameCheap.com est celui que j'utilise maintenant. Ils sont excellents et ils soutiennent ce que j'essayais de faire. En outre, NameCheap accepte le bitcoin .
Matt
22

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 d'en-tête @ dans 174.129.25.170. Ils redirigeront automatiquement du domaine nu vers un avec www. en face d'elle.

TMilligan
la source
5
pourquoi payer une autre taxe à quelqu'un d'autre?
Benjamin
4
Vous, monsieur, êtes une bouée de sauvetage. @Vezu: le transfert non-SSL est totalement gratuit. Vous pointez simplement votre enregistrement A pour le domaine nu vers cette adresse IP et il redirigera le navigateur vers le domaine www. Vous n'avez même pas besoin d'un compte avec eux.
P O'Conbhui
J'essaie d'incorporer wwwizer pour le mien, et dans mon enregistrement A j'ai l'hôte comme "@" et les points comme 174.129.25.170, selon les instructions de wwwizer, mais j'obtiens leur page de message d'erreur lorsque je visite mon domaine nu! Ai-je fait cela correctement ??
tx291 le
7

Dans l'éditeur de zone DNS de GoDaddy, vous voudrez configurer votre enregistrement CNAME www pour qu'il pointe vers @. Dans votre enregistrement A, vous utiliserez un caractère générique (*) pour pointer vers l'adresse IP et un deuxième enregistrement A qui utilise @ comme hôte qui pointera é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

entrez la description de l'image ici

Questions fréquemment posées

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

Oui, en utilisant la fonction gratuite 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 pointer vers votre application n'est pas prise en charge. Pour vous assurer que votre domaine pointe toujours correctement vers 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 leur disponibilité et des conséquences de leur disponibilité.

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

Dans certains cas, les tentatives d'ajout d'un domaine personnalisé (comme subdomain.mydomain.com) pour une application peuvent entraîner une erreur comme celle-ci:

 ! mydomain.com is owned by another user

Toutes les applications pour 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.

kobaltz
la source
1
L'adresse IP et l'adresse Web d'Heroku seraient-elles appname.heroku.com ou proxy.heroku.com?
Andrew Latham
1
Vous devriez vraiment regarder cet article, devcenter.heroku.com/articles/custom-domains , car il couvre tout ce que vous cherchez à faire.
kobaltz
1
Cette approche pointe le CNAME wwwvers @ qui achemine toujours le trafic vers des adresses IP fixes (qui présente tous les mêmes inconvénients que les enregistrements A). Utilisez une redirection de niveau supérieur, sur GoDaddy, cela s'appelle plutôt "transfert".
Ryan Daigle
5

Si vous avez configuré les adresses IP sur votre domaine nu et votre www cname'd à yourappname.herokuapp.com, tout ce que vous avez à faire est d'utiliser quelque chose comme RackRewrite dans votre application pour rediriger les demandes lorsqu'elles arrivent à votre application.

Ce que vous souhaitez configurer, c'est que toute demande adressée au domaine nu soit 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 redirige vers www.yuordomain.com mais uniquement si elle est en cours de production.

John Beynon
la source
1
Idéalement, cela se fait au niveau DNS en évitant de passer par les adresses IP fixes d'Heroku. De plus, vous ne savez pas s'il s'agit d'une application Ruby ou non?
Ryan Daigle
Ryan, les redirections ne peuvent pas être effectuées au niveau DNS. Ils sont toujours effectués par HTTP.
Emil Vikström
Pourquoi en tant qu'initialiseur et pourquoi ne pas simplement le mettre dans la configuration de l'environnement de production?
ckarbass
Lorsque j'utilise heroku + mon domaine personnalisé, dois-je avoir un enregistrement A pointant vers heroku? Si oui, quelle est sa valeur?
Alan Coromano
3

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

Solutions réseau pointant votredomaine.com vers www.votredomaine.com. Voici comment.

  1. Dans Gestionnaire de compte , 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 Modifier les points de domaine où

  4. Sélectionnez DNS avancé , puis Continuer

  5. Tout d'abord, modifiez les enregistrements A en sélectionnant Modifier les enregistrements A

    Pour le "@ aucun", entrez l'adresse IP suivante 205.178.189.129, effacez les enregistrements pour "www" et "* (Tous les autres)" , puis sélectionnez Continuer

  6. Deuxièmement, modifiez les alias d'hôte (enregistrements CNAME) en sélectionnant Modifier 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 blogs dans la section Autre hôte [IE SUIVEZ LES INSTRUCTIONS HEROKU MAINTENANT www -> yourapp.herokuapp.com (Cedar Stack)]

    Sélectionnez Continuer

Maintenant, attendez et vérifiez le (s) domaine (s) avec la commande de terminal suivante:

host domain.com
host www.domain.com
blnc
la source