Heroku / GoDaddy: invia dominio nudo a www [chiuso]


142

Sto cercando di capire come ottenere il dominio nudo per il mio sito Web da reindirizzare al dominio www. Sto usando Heroku e ho il dominio da GoDaddy. A causa di Heroku, i miei record A sono già impostati come:

@: 75.101.145.87

@: 75.101.163.44

@: 174.129.25.170

E il mio www CNAME punta a proxy.heroku.com.

Ho cercato su Internet, ma non riesco a trovare una risposta semplice e gratuita su come posso fare questo reindirizzamento. Alcune risposte parlano dell'utilizzo di servizi a pagamento, cosa che non voglio fare, e altri parlano di come entrare e modificare le impostazioni di Heroku, ma in realtà non danno molte spiegazioni. In questo momento, se vai nel mio dominio nudo, è solo Heroku che dice che non esiste tale app, mentre se vai nel mio dominio www è la mia app.


8
Le FAQ di Heroku indicano solo come eseguire il reindirizzamento con DNSimple. La loro pagina di supporto si collega a StackOverflow.
Andrew Latham,

32
Penso che la risposta di Emil sia un po 'dura su questo, questo sito è una risorsa per risolvere i problemi che abbiamo lungo il cammino della programmazione e questo è un problema che sto riscontrando proprio ora! : D
Daniel Morris,

Questo dovrebbe probabilmente essere chiuso come Dupe anziché Off-Topic: stackoverflow.com/questions/16022324/…
Chris Moschini,

2
@ChrisMoschini la risposta accettata alla domanda a cui fai riferimento non funziona su GoDaddy perché GoDaddy non supporta i record ALIAS, ma solo CNAME. Questa è la sua stessa domanda, penso.
Topher Hunt,

1
Qualunque sia il set di A Records, non è possibile avere un dominio nudo puntato direttamente su heroku. Non è stato possibile impostare il routing su wwwcui è indicato CNAME your-app-name.herokuapp.com.
Chetabahana,

Risposte:


231

Su GoDaddy, utilizzare la funzione "Inoltro" per impostare un inoltro da yourdomain.coma www.yourdomain.com. È possibile accedere alla funzione di inoltro nel Domain Manager nella parte inferiore della sezione "Informazioni sul dominio":

Inoltro del dominio in GoDaddy

Se lo fai, tutto il traffico verso il tuo dominio.com verrà indirizzato all'app CNAME di Heroku (che è l' approccio migliore ).

Una nota, tuttavia, se sei nello stack Cedar , non utilizzarlo proxy.heroku.comper l'host del tuo wwwCNAME. Invece usa your-app-name.herokuapp.com. Questi dettagli sono coperti qui .

GoDaddy specifica inoltre che per poter inoltrare il tuo nome di dominio, il suo record A deve essere puntato a 64.202.189.170 o deve rientrare nei seguenti intervalli: 50.63.202.1 - 50.63.202.31 o 184.168.221.1 - 184.168.221.31.


14
questo crea un avviso / errore se si utilizza SSL come heroku afferma? hanno detto che se https: // example.com viene reindirizzato c'è un avvertimento.
Jaqx,

2
@jaqx, mi sta succedendo, hai trovato un modo per evitare che gli utenti ricevessero questo avviso?
jackerman09,

3
@ jackerman09 Mi sono appena stancato della seccatura e sono passato a DNSimple
Jaqx

5
@Matt non c'è modo di farlo con GoDaddy. Utilizzare la funzione ALIAS / ANAME di altri provider come DNSimple o DNS Made Easy se necessario.
Ryan Daigle,

3
@RyanDaigle Grazie Ryan. Consiglio a tutti di lasciare Godaddy per più di un motivo . NameCheap.com è quello che uso ora. Sono fantastici e supportano ciò che stavo cercando di fare. Inoltre, NameCheap accetta bitcoin .
Matt,

22

Puoi anche utilizzare http://wwwizer.com per inoltrare dal tuo dominio nudo al tuo www. In GoDaddy nel gestore DNS sotto il record A nell'intestazione @ digitare 174.129.25.170. Reindirizzeranno automaticamente dal dominio nudo a uno con www. davanti ad esso.


5
perché pagare un'altra commissione a qualcun altro?
Benjamin,

4
Lei, signore, è un vero toccasana. @Vezu: l'inoltro non SSL è completamente gratuito. Devi solo puntare il tuo record A per il dominio nudo a quell'indirizzo IP e reindirizzerà il browser al dominio www. Non hai nemmeno bisogno di un account con loro.
P O'Conbhui,

Sto cercando di incorporare il mio wwwizer per il mio, e nel mio record A ho l'host come "@" e i punti come 174.129.25.170, secondo le istruzioni di wwwizer, ma ricevo la loro pagina di messaggio di errore quando visito il mio dominio nudo! L'ho fatto correttamente ??
tx291,

7

Nell'editor di zone DNS di GoDaddy, vorrai configurare il tuo record CNAME www in modo che punti a @. Nel tuo record A, utilizzerai un carattere jolly (*) per indicare l'indirizzo IP e un secondo record A che utilizza @ come host che punterà anche all'indirizzo web. Per di qua,

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

inserisci qui la descrizione dell'immagine

Domande frequenti

Posso indicare * .mydomain.com alla mia app Heroku?

Sì, utilizzando la funzione Domini personalizzati gratuiti di Heroku puoi puntare un dominio jolly alla tua applicazione.

Quali indirizzi IP dovrei usare per indirizzare il mio dominio personalizzato su Heroku?

Lo stack di routing Heroku utilizza una raccolta di indirizzi IP che può cambiare in qualsiasi momento e l'utilizzo di record A per puntare all'app non è supportato. Per assicurarti che il tuo dominio punti sempre correttamente alla mesh di routing, configura i sottodomini (ad es. Www in www.esempio.org) usando un record CNAME:

If the app is on…   Then CNAME the subdomain to
Bamboo  yourapp.heroku.com
Cedar   yourapp.herokuapp.com

I domini nudi (o nudi / apici) (ad esempio esempio.org) dovrebbero essere evitati a causa della loro disponibilità e delle conseguenze del tempo di attività.

Perché non posso aggiungere subdomain.mydomain.com per la mia app?

In alcuni casi, i tentativi di aggiungere un dominio personalizzato (come subdomain.mydomain.com) per un'app possono causare un errore come questo:

 ! mydomain.com is owned by another user

Tutte le applicazioni per un determinato dominio di base devono essere di proprietà dello stesso account Heroku. L'errore sopra indica che qualcun altro ha già aggiunto un dominio personalizzato mydomain.com a una delle sue app.


1
L'indirizzo IP e l'indirizzo web di Heroku sarebbero appname.heroku.com o proxy.heroku.com?
Andrew Latham,

1
Dovresti davvero guardare questo articolo, devcenter.heroku.com/articles/custom-domains , poiché copre tutto ciò che stai cercando di fare.
Kobaltz,

1
Questo approccio punta a CNAME wwwsu @ che continua a instradare il traffico verso indirizzi IP fissi (che ha tutti gli stessi lati negativi dei record A). Utilizza un reindirizzamento di livello superiore, su GoDaddy si chiama invece "inoltro".
Ryan Daigle,

5

Se hai configurato gli indirizzi IP sul tuo dominio nudo e il tuo nome www su yourappname.herokuapp.com, tutto ciò che devi fare è usare qualcosa come RackRewrite nella tua applicazione per reindirizzare le richieste quando arrivano alla tua applicazione.

Quello che vuoi configurare è che qualsiasi richiesta al dominio nudo venga reindirizzata al tuo indirizzo www. Dopo aver seguito le istruzioni di installazione aggiungere un inizializzatore in config / initializer

 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'

Ciò significa che se l'URL richiesto non è www.tuodominio.com, quindi 301 reindirizzarlo a www.tuordomain.com, ma solo se è in esecuzione in produzione.


1
Idealmente, questo viene fatto a livello DNS evitando un viaggio attraverso gli indirizzi IP fissi di Heroku. Inoltre, non sei sicuro che si tratti di un'app Ruby o no?
Ryan Daigle,

Ryan, i reindirizzamenti non possono essere eseguiti a livello DNS. Vengono sempre eseguiti tramite HTTP.
Emil Vikström,

Perché come inizializzatore e perché non inserirlo nella configurazione dell'ambiente di produzione?
ckarbass,

Quando uso heroku + il mio dominio personalizzato, devo avere un record A che indichi heroku? Se sì, qual è il suo valore?
Alan Coromano,

3

A tal fine, per funzionare con le soluzioni di rete, procedi come segue:

Soluzioni di rete che puntano yourdomain.com a www.tuodominio.com. Ecco come.

  1. In Account Manager , seleziona I miei nomi di dominio

  2. Seleziona il nome di dominio che desideri gestire

  3. Nella casella verde, seleziona Cambia dove punti dominio

  4. Seleziona DNS avanzato , quindi Continua

  5. Innanzitutto, modifica i record A selezionando Modifica record A

    Per "@ nessuno" inserire il seguente indirizzo IP 205.178.189.129, cancellare i record per "www" e "* (Tutti gli altri)" , quindi selezionare Continua

  6. In secondo luogo, modificare gli alias host (record CNAME) selezionando Modifica record CNAME

    Immettere "www" nella colonna Alias

    Lascia TTL impostato su 7200 ma sulla stessa riga, inserisci i server dei nomi forniti dal servizio di blog nella sezione Altro host [IE SEGUI ORA LE ISTRUZIONI HEROKU www -> yourapp.herokuapp.com (Cedar Stack)]

    Seleziona Continua

Ora attendi e controlla i domini con il seguente comando terminale:

host domain.com
host www.domain.com
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.