Come configurare il DNS dell'applicazione heroku su Godaddy Domain?


99

Ho creato un'applicazione heroku e desidero assegnarle un dominio da godaddy.com.

Ho configurato tutti e tre gli host forniti da heroku ma ora ricevo un errore che dice:

Heroku | Nessuna app del genere

Non ci sono app configurate su quel nome host.

Forse il proprietario dell'app l'ha rinominata o hai digitato male l'URL.

Voglio sapere: c'è un altro modo per configurare un'app heroku?

AGGIORNATO: Nuovo approccio Utilizzare questo collegamento per un nuovo approccio . La risposta accettata è una vecchia funzionalità.

Risposte:


74

Ho usato questo videocast per configurare il mio dominio GoDaddy con Heroku e ha funzionato perfettamente. Molto chiaro e ben spiegato.

Nota: salta la parte su CNAME yourdomain.com.(nota il .) e ilheroku addons:add "custom domains"

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


Per riassumere il video:

1) su GoDaddy e crea un CNAME con

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

2) verifica che il tuo dominio si sia propagato digitando host www.yourdomain.comsulla riga di comando

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

4) corri heroku domains:add yourdomain.com

Ha funzionato per me dopo questi passaggi. Spero che funzioni anche per te!

AGGIORNAMENTO : le cose sono cambiate, guarda questo post Heroku / GoDaddy: invia dominio nudo a www


1
Buon post. Questo è tutto ciò di cui hai bisogno. Stavo per pubblicare questo link.
adu

1
Sono nuovo su webdev, quindi scusa se questa domanda è un po 'elementare, ma mantengo o elimino il CNAME predefinito con alias wwwe nome host @? Modifica: Oops, sembra che solo uno possa esistere.
pqn

1
A partire da febbraio 2019, questo non funziona e GoDaddy manterrà le commissioni che hai pagato indipendentemente a meno che tu non chieda un rimborso molto presto. Heroku mantiene un elenco di provider DNS consigliati. Maggiori informazioni su questo qui: devcenter.heroku.com/articles/custom-domains
Matt West

83

Ci sono 2 passaggi che devi eseguire,

  1. Aggiungi l'addon dei domini personalizzati e aggiungi il dominio che intendi utilizzare, ad esempio www.mywebsite.com alla tua applicazione
  2. Vai al pannello di controllo del registrar del tuo dominio e imposta www.mywebsite.com come una voce CNAME per yourapp.herokuapp.com assumendo che tu stia utilizzando lo stack CEDAR.
  3. C'è un terzo passaggio se si desidera utilizzare un dominio vuoto, ad esempio mywebsite.com quando si dovrebbero aggiungere gli indirizzi IP dei bilanciatori di carico Heroku al proprio DNS per mywebsite.com

Puoi leggere di più su questo su http://devcenter.heroku.com/articles/custom-domains

Forse ti sei perso il primo passo?

AGGIORNAMENTO: in seguito all'annuncio del ritiro di EOL proxy.heroku.com di Bamboo (settembre 2014) per le applicazioni Bamboo, ora anche queste dovrebbero utilizzare la mappatura yourapp.herokuapp.com.


10
i domini personalizzati sono ora una funzionalità fondamentale, quindi nessun passaggio di installazione di componenti aggiuntivi.
OB1

8
Il CNAME dovrebbe essere impostato su "[la tua app] .herokuapp.com" (per lo stack di cedro, per il bambù usa "[la tua app] .heroku.com")
ottobre 4-12

13
@JohnBeynon Sarebbe comunque utile modificare la tua risposta, dato che le persone vengono qui da Google. tosse
Josh Smith

3
Se devi reindirizzare il tuo dominio vuoto (esempio.com) alla tua app heroku, puoi utilizzare wwwizer.com/naked-domain-redirect
Gabriel Cebrian

1
Tieni presente che a partire dal 22 settembre 2014 , Heroku supporterà solo [yourapp].herokuapp.com. Il supporto per lo stack di routing legacy [yourapp].heroku.comverrà eliminato.
Gabriel Osorio

16

Il trucco sta nel

  1. crea un CNAME per www.myapp.com su myapp.heroku.com
  2. creare un reindirizzamento 301 da myapp.com a www.myapp.com

4
Ottengo un 404 per quel collegamento. shaks link utilizza lo stesso approccio.
bebbi

4

Sì, molti cambiamenti a Heroku. Se stai usando un banco prova Heroku per il tuo server web, devi trovare il modo per alias da un DNSnome a un altro DNSnome (poiché ogni endpoint DNS Heroku può risolversi in molti indirizzi IP per adattarsi dinamicamente ai carichi di richiesta).

Un CNAMErecord è per l'aliasing www.example.com->www.example.com.herokudns.com.

Non puoi usare CNAMEper un dominio vuoto ( @), cioè example.com(a meno che tu non trovi un server dei nomi che può fare CNAME Flattening- che è quello che ho fatto).

Ma in realtà la soluzione più semplice, che possono o meno essere preso cura di tutti nel tuo account GoDaddy, è quello di creare una CNAME recordche fa questo: www.example.com -> www.example.com.herokudns.com.

Quindi crea un reindirizzamento 301 permanente da example.coma www.example.com.

Ciò richiede un solo Heroku nome di dominio personalizzato configurato nelle impostazioni Heroku app: www.example.com.herokudns.com. @Jonathan Roy parla di questo (sopra) ma fornisce un collegamento non valido.


2

Non è possibile utilizzare il dominio vuoto di your-domain.comse non viene reindirizzato al file www.your-domain.com. Heroku usa il www.yourdomain.comquale agisce qui come sottodominio. Quindi, quando segui le istruzioni predefinite da usare your-domain.com, dovrai assegnarle entrambe.

Possiamo effettivamente assegnare solo il dominio vuoto senza l'estensione www.your-domain.com. Utilizzare solo your-domain.comquando il provider DNS del dominio (NameServers) supporta ALIAS o ANAME per il record @ example.herokuapp.comsenza CNAME www.your-domain.com.

Ti permetterà di puntare www.your-domain.comad altri hosting separatamente (indipendenti).


0

Ho indicato il non-www 54.243.64.13e www.domain.comil alias.herokuapp.come tutto ha funzionato bene.

Trovato l'IP solo dopo aver puntato www.domain.come quindi eseguito il comando dig su www.domain.come ha mostrato:

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

Potrebbe non essere l'ideale ma ha funzionato.


1
Il tuo sito web potrebbe non funzionare periodicamente se utilizzi questa soluzione. L'IP potrebbe essere cambiato (e lo farà), il che ucciderà la tua configurazione DNS del record A. Dovrai farlo ogni 2-3 mesi o dopo qualsiasi interruzione di Heroku. Ci siamo occupati di questo e stiamo finalmente passando a cloudflare o easyDNS per impedirlo.
David Nelson il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.