Comment configurer le DNS de l'application Heroku sur le domaine Godaddy?

99

J'ai créé une application heroku et souhaite lui attribuer un domaine depuis godaddy.com.

J'ai configuré les trois hôtes fournis par heroku mais maintenant j'obtiens une erreur disant:

Heroku | Aucune application de ce type

Aucune application n'est configurée sur ce nom d'hôte.

Le propriétaire de l'application l'a peut-être renommée ou vous avez mal saisi l'URL.

Je veux savoir: existe-t-il un autre moyen de configurer une application heroku?

MISE À JOUR: Nouvelle approche Veuillez utiliser ce lien pour une nouvelle approche . La réponse acceptée est une ancienne fonctionnalité.

Arpit Vaishnav
la source

Réponses:

74

J'ai utilisé cette vidéocast pour configurer mon domaine GoDaddy avec Heroku, et cela a parfaitement fonctionné. Très clair et bien expliqué.

Remarque: ignorez la partie sur CNAME yourdomain.com.(notez le .) et leheroku addons:add "custom domains"

http://blog.heroku.com/archives/2009/10/7/heroku_casts_setting_up_custom_domains/


Pour résumer la vidéo:

1) sur GoDaddy et créez un CNAME avec

Alias Name: www
Host Name: proxy.heroku.com

2) Vérifiez que votre domaine s'est propagé en tapant host www.yourdomain.comsur la ligne de commande

3) courir heroku domains:add www.yourdomain.com

4) courir heroku domains:add yourdomain.com

Cela a fonctionné pour moi après ces étapes. J'espère que ça marchera pour toi aussi!

MISE À JOUR : les choses ont changé, consultez cet article Heroku / GoDaddy: envoyez un domaine nu à www

Alexandre
la source
1
Bon message. C'est de bout en bout ce dont vous avez besoin. J'étais sur le point de publier ce lien.
2012
1
Je suis nouveau sur webdev, donc désolé si cette question est un peu élémentaire, mais est-ce que je garde ou supprime le CNAME par défaut avec l'alias wwwet le nom d'hôte @? Edit: Oups, il semble qu'un seul puisse exister.
pqn
1
À partir de février 2019, cela ne fonctionne pas et GoDaddy conservera tous les frais que vous leur avez payés, sauf si vous demandez un remboursement très tôt. Heroku tient une liste des fournisseurs DNS recommandés. Plus d'informations à ce sujet ici: devcenter.heroku.com/articles/custom-domains
Matt West
83

Vous devez effectuer 2 étapes,

  1. Ajoutez l'addon de domaines personnalisés et ajoutez le domaine que vous allez utiliser, par exemple www.mywebsite.com à votre application
  2. Accédez au panneau de configuration de votre registraire de domaine et définissez www.mywebsite.com comme une entrée CNAME dans yourapp.herokuapp.com en supposant que vous utilisez la pile CEDAR.
  3. Il y a une troisième étape si vous souhaitez utiliser un domaine nu, par exemple mywebsite.com lorsque vous devez ajouter les adresses IP des équilibreurs de charge Heroku à votre DNS pour mywebsite.com

Vous pouvez en savoir plus à ce sujet sur http://devcenter.heroku.com/articles/custom-domains

Vous avez peut-être manqué la première étape?

MISE À JOUR: Suite à l'annonce de la suppression de proxy.heroku.com d'EOL de Bamboo (septembre 2014) pour les applications Bamboo, celles-ci devraient désormais également utiliser le mappage yourapp.herokuapp.com.

John Beynon
la source
10
les domaines personnalisés sont désormais une fonctionnalité principale, donc aucune étape d'installation complémentaire.
ob1
8
Le CNAME doit être défini sur "[votre application] .herokuapp.com" (pour la pile Cedar, pour l'utilisation du bambou "[votre application] .heroku.com")
ob1
13
@JohnBeynon Still vaudrait la peine de modifier votre réponse, car les gens viennent ici depuis Google. toux
Josh Smith
3
Si vous avez besoin de rediriger votre domaine nu (example.com) vers votre application heroku, vous pouvez utiliser wwwizer.com/naked-domain-redirect
Gabriel Cebrian
1
Veuillez noter qu'à partir du 22 septembre 2014 , Heroku ne prend en charge que [yourapp].herokuapp.com. La prise en charge de la pile de routage héritée [yourapp].heroku.comsera abandonnée.
Gabriel Osorio
16

L'astuce est de

  1. créer un CNAME pour www.myapp.com vers myapp.heroku.com
  2. créer une redirection 301 de myapp.com vers www.myapp.com
Jonathan Roy
la source
4
Je reçois un 404 pour ce lien. shaks link utilise la même approche.
bebbi
4

Oui, de nombreux changements chez Heroku. Si vous utilisez un dyno Heroku pour votre serveur Web, vous devez trouver un moyen d'alias d'un DNSnom à un autre DNS(puisque chaque point de terminaison DNS Heroku peut se résoudre en plusieurs adresses IP pour s'ajuster dynamiquement aux charges de demande).

Un CNAMEenregistrement est pour l'alias www.example.com->www.example.com.herokudns.com.

Vous ne pouvez pas utiliser CNAMEpour un domaine nu ( @), c'est-à-dire example.com(à moins que vous ne trouviez un serveur de noms capable de le faire CNAME Flattening- ce que j'ai fait).

Mais vraiment la solution la plus simple, qui peut à peu près être pris en charge de tous dans votre compte GoDaddy, est de créer un CNAME recordqui fait cela: www.example.com -> www.example.com.herokudns.com.

Et puis créez une redirection 301 permanente de example.comvers www.example.com.

Cela ne nécessite qu'un seul heroku nom de domaine personnalisé configuré dans vos paramètres de l' application Heroku: www.example.com.herokudns.com. @Jonathan Roy en parle (ci-dessus) mais fournit un mauvais lien.

Boise au four
la source
2

Vous ne pouvez pas utiliser le domaine nu de your-domain.coms'il n'est pas redirigé vers le www.your-domain.com. Heroku utilise les www.yourdomain.comqui agissent ici comme un sous-domaine. Ainsi, lorsque vous suivez les instructions par défaut à utiliser, your-domain.comvous devrez attribuer les deux.

Nous ne pouvons en fait attribuer que le domaine nu sans l'extension www.your-domain.com. À utiliser uniquement your-domain.comlorsque le fournisseur DNS du domaine (NameServers) prend en charge ALIAS ou ANAME pour @ Record to example.herokuapp.comsans CNAME www.your-domain.com.

Il vous permettra de pointer www.your-domain.comvers un autre hébergement séparément (indépendant).

Chetabahana
la source
0

J'ai pointé le non-www vers 54.243.64.13et le www.domain.comvers alias.herokuapp.comet tout fonctionnait bien.

Trouvé l'adresse IP seulement après avoir pointé www.domain.compuis exécuté la commande dig sur le www.domain.comet il a montré:

;; ANSWER SECTION:
www.domain.com. 14400  IN      CNAME   aliasat.herokuapp.com.
aliasat.herokuapp.com. 300 IN CNAME us-east-1-a.route.herokuapp.com.
us-east-1-a.route.herokuapp.com. 60 IN  A       54.235.186.37

;; AUTHORITY SECTION:
herokuapp.com.          900     IN      NS      ns-1378.awsdns-44.org.
herokuapp.com.          900     IN      NS      ns-1624.awsdns-11.co.uk.
herokuapp.com.          900     IN      NS      ns-505.awsdns-63.com.
herokuapp.com.          900     IN      NS      ns-662.awsdns-18.net.

Peut-être pas idéal mais travaillé.

Hébergement Web islandnet.com
la source
1
Votre site Web peut tomber périodiquement si vous utilisez cette solution. L'adresse IP peut être modifiée (et ce sera le cas), ce qui tuera la configuration DNS de votre enregistrement A. Vous devrez le faire tous les 2-3 mois ou après une panne d'Heroku. Nous nous sommes occupés de cela et passons enfin à cloudflare ou easyDNS pour éviter cela.
David Nelson