Jak skonfigurować DNS aplikacji heroku w domenie GoDaddy?

99

Stworzyłem aplikację heroku i chcę nadać jej domenę z godaddy.com.

Skonfigurowałem wszystkie trzy hosty dostarczone przez heroku, ale teraz pojawia się błąd:

Heroku | Nie ma takiej aplikacji

Nie ma aplikacji skonfigurowanej pod tą nazwą hosta.

Być może właściciel aplikacji zmienił jej nazwę lub błędnie wpisałeś adres URL.

Chcę wiedzieć: czy istnieje inny sposób konfiguracji aplikacji heroku?

AKTUALIZACJA: Nowe podejście Użyj tego linku, aby uzyskać nowe podejście . Zaakceptowana odpowiedź to stara funkcja.

Arpit Vaishnav
źródło

Odpowiedzi:

74

Użyłem tego teledysku, aby skonfigurować moją domenę GoDaddy z Heroku i działało idealnie. Bardzo jasne i dobrze wyjaśnione.

Uwaga: Pomiń część dotyczącą CNAME yourdomain.com.(zwróć uwagę na .) iheroku addons:add "custom domains"

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


Podsumowując wideo:

1) w GoDaddy i utwórz CNAME z

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

2) sprawdź, czy Twoja domena się rozprzestrzeniła, wpisując host www.yourdomain.comw wierszu poleceń

3) biegać heroku domains:add www.yourdomain.com

4) biegać heroku domains:add yourdomain.com

U mnie zadziałało po tych krokach. Mam nadzieję, że to działa również dla Ciebie!

AKTUALIZACJA : coś się zmieniło, zobacz ten post Heroku / GoDaddy: wyślij samą domenę na www

Alexandre
źródło
1
Dobry post. To koniec, aby zakończyć to, czego potrzebujesz. Miałem właśnie zamieścić ten link.
adu
1
Jestem nowy w webdev, więc przepraszam, jeśli to pytanie jest trochę elementarne, ale czy mogę zachować lub usunąć domyślne CNAME z aliasem wwwi nazwą hosta @? Edycja: Ups, wygląda na to, że tylko jeden może istnieć.
pqn
1
Od lutego 2019 r. To nie działa, a firma GoDaddy zachowa wszelkie uiszczone opłaty, niezależnie od tego, czy nie zażądasz zwrotu pieniędzy na bardzo wczesnym etapie. Heroku prowadzi listę zalecanych dostawców DNS. Więcej na ten temat tutaj: devcenter.heroku.com/articles/custom-domains
Matt West
83

Musisz wykonać 2 kroki,

  1. Dodaj dodatek do domen niestandardowych i dodaj do aplikacji domenę, której będziesz używać, np. Www.mywebsite.com
  2. Przejdź do panelu sterowania rejestratora domeny i ustaw www.mywebsite.com jako wpis CNAME na yourapp.herokuapp.com, zakładając, że używasz stosu CEDAR.
  3. Istnieje trzeci krok, jeśli chcesz używać samej domeny, np. Mywebsite.com, kiedy musiałbyś dodać adresy IP modułów równoważenia obciążenia Heroku do swojego DNS dla mywebsite.com

Możesz przeczytać więcej na ten temat pod adresem http://devcenter.heroku.com/articles/custom-domains

Przypuszczam, że przegapiłeś pierwszy krok?

AKTUALIZACJA: Po ogłoszeniu wycofania Bamboo EOL proxy.heroku.com (wrzesień 2014) dla aplikacji Bamboo powinny one teraz również korzystać z mapowania yourapp.herokuapp.com.

John Beynon
źródło
10
domeny niestandardowe są teraz podstawową funkcją, więc nie ma dodatkowego etapu instalacji.
ob1
8
CNAME należy ustawić na „[twoja aplikacja] .herokuapp.com” (w przypadku stosu Cedar, w przypadku bambusa „[Twoja aplikacja] .heroku.com”)
ob1
13
@JohnBeynon Nadal warto byłoby zmienić swoją odpowiedź, ponieważ ludzie przychodzą tutaj z Google. kaszel
Josh Smith
3
Jeśli chcesz przekierować samą domenę (example.com) do aplikacji heroku, możesz użyć adresu wwwizer.com/naked-domain-redirect
Gabriel Cebrian
1
Proszę wziąć pod uwagę, że od 22 września 2014 , Heroku obsługuje tylko [yourapp].herokuapp.com. Obsługa starszego stosu routingu [yourapp].heroku.comzostanie usunięta.
Gabriel Osorio
16

Sztuka polega na tym

  1. utwórz CNAME dla www.myapp.com na myapp.heroku.com
  2. utwórz przekierowanie 301 z myapp.com do www.myapp.com
Jonathan Roy
źródło
4
Otrzymuję 404 dla tego łącza. link shaks używa tego samego podejścia.
bebbi
4

Tak, wiele zmian w Heroku. Jeśli używasz dyno Heroku dla swojego serwera internetowego, musisz znaleźć sposób na alias z jednej DNSnazwy na inną DNS(ponieważ każdy punkt końcowy Heroku DNS może być obsługiwany przez wiele adresów IP, aby dynamicznie dostosowywać się do żądań ładowania).

CNAMERekord jest dla aliasing www.example.com->www.example.com.herokudns.com.

Nie możesz używać CNAMEdla samej domeny ( @), tj. example.com(Chyba że znajdziesz serwer nazw, który może to zrobić CNAME Flattening- co zrobiłem).

Ale naprawdę najprostszym rozwiązaniem, które może być dość dużo załatwione wszystko na koncie GoDaddy, jest stworzenie CNAME record, które wykonuje to: www.example.com -> www.example.com.herokudns.com.

A następnie utwórz trwałe przekierowanie 301 z example.comdo www.example.com.

Wymaga to tylko jeden Heroku nazwę domeny niestandardowej skonfigurowany w ustawieniach Heroku aplikacji: www.example.com.herokudns.com. @Jonathan Roy mówi o tym (powyżej), ale podaje zły link.

BoiseBaked
źródło
2

Nie możesz używać samej domeny, your-domain.comjeśli nie jest przekierowywana do www.your-domain.com. Heroku używa domeny, www.yourdomain.comktóra działa tutaj jako subdomena. Więc kiedy będziesz postępować zgodnie z domyślną instrukcją użycia your-domain.com, będziesz musiał przypisać oba z nich.

W rzeczywistości możemy przypisać tylko samą domenę bez rozszerzenia www.your-domain.com. Używaj tylko your-domain.comwtedy, gdy dostawca DNS domeny (serwery nazw) obsługują ALIAS lub ANAME dla rekordu @ example.herokuapp.combez CNAME www.your-domain.com.

Pozwoli ci to www.your-domain.comosobno wskazać inny hosting (niezależny).

Chetabahana
źródło
0

Skierowałem nie-www do 54.243.64.13i www.domain.comdo alias.herokuapp.comi wszystko działało ładnie.

Znaleziono adres IP dopiero po wskazaniu, www.domain.coma następnie uruchomieniu polecenia dig na www.domain.comi pokazało:

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

Może nie być idealny, ale działał.

Islandnet.com Hosting WWW
źródło
1
Jeśli korzystasz z tego rozwiązania, Twoja witryna może okresowo przestać działać. Adres IP może zostać zmieniony (i tak się stanie), co zabije konfigurację DNS rekordu A. Będziesz musiał to robić co 2-3 miesiące lub po jakiejkolwiek przerwie w działaniu Heroku. Mieliśmy do czynienia z tym i w końcu przechodzimy do cloudflare lub easyDNS, aby temu zapobiec.
David Nelson