Wie konfiguriere ich Heroku-Anwendungs-DNS für Godaddy Domain?

99

Ich habe eine Heroku-Anwendung erstellt und möchte ihr eine Domain von godaddy.com geben.

Ich habe alle drei von Heroku bereitgestellten Hosts konfiguriert, aber jetzt erhalte ich die Fehlermeldung:

Heroku | Keine solche App

Unter diesem Hostnamen ist keine App konfiguriert.

Möglicherweise hat der App-Besitzer es umbenannt, oder Sie haben die URL falsch eingegeben.

Ich möchte wissen: Gibt es eine andere Möglichkeit, eine Heroku-App zu konfigurieren?

AKTUALISIERT: Neuer Ansatz Bitte verwenden Sie diesen Link für einen neuen Ansatz . Akzeptierte Antwort ist eine alte Funktion.

Arpit Vaishnav
quelle

Antworten:

74

Ich habe diesen Videocast verwendet, um meine GoDaddy-Domain mit Heroku einzurichten, und es hat perfekt funktioniert. Sehr klar und gut erklärt.

Hinweis: Überspringen Sie den Teil über CNAME yourdomain.com.(beachten Sie das .) und dasheroku addons:add "custom domains"

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


Um das Video zusammenzufassen:

1) auf GoDaddy und erstelle einen CNAME mit

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

2) Überprüfen Sie, ob sich Ihre Domain verbreitet hat, indem Sie host www.yourdomain.comin die Befehlszeile eingeben

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

4) laufen heroku domains:add yourdomain.com

Nach diesen Schritten hat es bei mir funktioniert. Hoffe es funktioniert auch bei dir!

UPDATE : Dinge haben sich geändert, lesen Sie diesen Beitrag Heroku / GoDaddy: Senden Sie eine nackte Domain an www

Alexandre
quelle
1
Guter Post. Dies ist Ende zu Ende, was Sie brauchen. Ich wollte diesen Link posten.
Adu
1
Ich bin neu bei webdev. Tut mir leid, wenn diese Frage ein wenig elementar ist. Aber behalte oder lösche ich den Standard-CNAME mit Alias wwwund Hostnamen @? Edit: Ups, scheint nur einer existieren zu können.
pqn
1
Ab Februar 2019 funktioniert dies nicht mehr und GoDaddy behält alle von Ihnen gezahlten Gebühren bei, es sei denn, Sie fordern sehr früh eine Rückerstattung. Heroku führt eine Liste der empfohlenen DNS-Anbieter. Mehr dazu hier: devcenter.heroku.com/articles/custom-domains
Matt West
83

Es gibt 2 Schritte, die Sie ausführen müssen:

  1. Fügen Sie das Addon für benutzerdefinierte Domänen hinzu und fügen Sie der Anwendung die Domäne hinzu, die Sie verwenden möchten, z. B. www.mywebsite.com
  2. Gehen Sie zu Ihrem Domain-Registrar-Kontrollfeld und legen Sie fest, dass www.mywebsite.com ein CNAME-Eintrag für yourapp.herokuapp.com ist, vorausgesetzt, Sie verwenden den CEDAR-Stack.
  3. Es gibt einen dritten Schritt, wenn Sie eine nackte Domain verwenden möchten, z. B. mywebsite.com, wenn Sie die IP-Adressen der Heroku-Load-Balancer zu Ihrem DNS für mywebsite.com hinzufügen müssten

Weitere Informationen hierzu finden Sie unter http://devcenter.heroku.com/articles/custom-domains

Vermutlich haben Sie den ersten Schritt verpasst?

UPDATE: Nach der Ankündigung, dass Bamboos EOL proxy.heroku.com (September 2014) für Bamboo-Anwendungen eingestellt wird, sollten diese jetzt auch die Zuordnung von yourapp.herokuapp.com verwenden.

John Beynon
quelle
10
Benutzerdefinierte Domänen sind jetzt eine Kernfunktion, sodass kein zusätzlicher Installationsschritt erforderlich ist.
ob1
8
Der CNAME sollte auf "[Ihre App] .herokuapp.com" gesetzt sein (für den Cedar-Stapel, für Bambus "[Ihre App] .heroku.com")
ob1
13
@JohnBeynon Trotzdem lohnt es sich, Ihre Antwort zu bearbeiten, da die Leute von Google hierher kommen. Husten
Josh Smith
3
Wenn Sie Ihre nackte Domain (example.com) zu Ihrer Heroku-App umleiten müssen, können Sie wwwizer.com/naked-domain-redirect
Gabriel Cebrian
1
Bitte beachten Sie, dass Heroku ab dem 22. September 2014 nur noch unterstützt [yourapp].herokuapp.com. Die Unterstützung für den Legacy-Routing-Stack [yourapp].heroku.comwird eingestellt.
Gabriel Osorio
16

Der Trick ist zu

  1. Erstellen Sie einen CNAME für www.myapp.com auf myapp.heroku.com
  2. Erstellen Sie eine 301-Umleitung von myapp.com zu www.myapp.com
Jonathan Roy
quelle
4
Ich bekomme eine 404 für diesen Link. shaks link verwendet den gleichen Ansatz.
Bebbi
4

Ja, viele Änderungen bei Heroku. Wenn Sie einen Heroku-Prüfstand für Ihren Webserver verwenden, müssen Sie einen Alias ​​von einem DNSNamen zu einem anderen DNSNamen finden (da jeder Heroku-DNS-Endpunkt möglicherweise in viele IP-Adressen aufgelöst wird, um sich dynamisch an die Anforderung von Lasten anzupassen).

Ein CNAMEDatensatz dient zum Aliasing www.example.com->www.example.com.herokudns.com.

Sie können nicht CNAMEfür eine nackte Domain ( @) verwenden, dh example.com(es sei denn, Sie finden einen Nameserver, der dies kann CNAME Flattening- was ich auch getan habe).

Aber die einfachste Lösung, die in Ihrem GoDaddy-Konto so gut CNAME recordwie erledigt werden kann , besteht darin, eine zu erstellen , die dies tut : www.example.com -> www.example.com.herokudns.com.

Und dann erstellen Sie eine permanente 301-Umleitung von example.comnach www.example.com.

Dies erfordert nur einen benutzerdefinierten Heroku-Domainnamen, der in Ihren Heroku-App-Einstellungen konfiguriert ist : www.example.com.herokudns.com. @ Jonathan Roy spricht darüber (oben), bietet aber einen schlechten Link.

BoiseBaked
quelle
2

Sie können die nackte Domain von nicht verwenden, your-domain.comwenn sie nicht an die umgeleitet wird www.your-domain.com. Heroku verwenden die, www.yourdomain.comdie hier als Subdomain fungieren. Also , wenn Sie die folgen Standard Anweisung zu verwenden , your-domain.comdann Sie beide müssen zuweisen.

Wir können tatsächlich nur die nackte Domain ohne die zuweisen www.your-domain.com. Nur verwenden, your-domain.comwenn der DNS-Anbieter der Domain (NameServer) ALIAS oder ANAME für den @ Record example.herokuapp.comohne CNAME unterstützt www.your-domain.com.

Damit können Sie www.your-domain.comseparat (unabhängig) auf ein anderes Hosting verweisen .

Chetabahana
quelle
0

Ich zeigte das Nicht-WWW auf 54.243.64.13und das www.domain.comauf alias.herokuapp.comund alles funktionierte gut.

Die IP wurde erst gefunden, nachdem auf www.domain.comden Befehl dig gezeigt www.domain.comund dieser ausgeführt wurde, und es wurde Folgendes angezeigt:

;; 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.

Kann nicht ideal sein, aber funktioniert.

islandnet.com Webhosting
quelle
1
Ihre Website kann regelmäßig ausfallen, wenn Sie diese Lösung verwenden. Die IP kann geändert werden (und wird es auch), wodurch Ihr DNS-Setup für A-Einträge beendet wird. Sie müssen dies alle 2-3 Monate oder nach einem Ausfall bei Heroku tun. Wir haben uns damit befasst und gehen endlich zu Cloudflare oder easyDNS über, um dies zu verhindern.
David Nelson