Heroku / GoDaddy: enviar dominio desnudo a www [cerrado]

142

Estoy tratando de descubrir cómo obtener el dominio desnudo para que mi sitio web redirija al dominio www. Estoy usando Heroku y tengo el dominio de GoDaddy. Debido a Heroku, mis registros A ya están configurados como:

@: 75.101.145.87

@: 75.101.163.44

@: 174.129.25.170

Y mi www CNAME apunta a proxy.heroku.com.

He estado buscando en Internet, pero no puedo encontrar una respuesta simple y gratuita sobre cómo puedo hacer esta redirección. Algunas respuestas hablan sobre el uso de servicios pagos, lo que no quiero hacer, y otras hablan sobre entrar y modificar la configuración de Heroku, pero en realidad no dan mucha explicación. En este momento, si vas a mi dominio desnudo, es solo Heroku diciendo que no existe tal aplicación, mientras que si vas a mi dominio www es mi aplicación.

Andrew Latham
fuente
8
Las preguntas frecuentes de Heroku solo dicen cómo hacer la redirección con DNSimple. Su página de soporte enlaza con StackOverflow.
Andrew Latham
32
¡Creo que la respuesta de Emil es un poco dura en este sentido, este sitio es un recurso para resolver los problemas que tenemos en el camino de la programación y ese es un problema que estoy teniendo ahora mismo! : D
Daniel Morris
Esto probablemente debería cerrarse como Dupe en lugar de fuera de tema: stackoverflow.com/questions/16022324/…
Chris Moschini
2
@ChrisMoschini la respuesta aceptada en la pregunta a la que hace referencia no funciona en GoDaddy porque GoDaddy no admite registros ALIAS, solo CNAME. Esta es su propia pregunta, creo.
Topher Hunt
1
Independientemente de lo que se establezca A Records, no hay posibilidad de que un dominio simple apunte directamente a heroku. Solo podríamos configurarlo para que se enrute a wwwdonde se apunta CNAME your-app-name.herokuapp.com.
Chetabahana

Respuestas:

231

En GoDaddy, use la función "Reenvío" para configurar un reenvío desde yourdomain.comhasta www.yourdomain.com. Se puede acceder a la función de reenvío en el Administrador de dominio en la parte inferior de la sección "Información del dominio":

Reenvío de dominios en GoDaddy

Si hace esto, todo el tráfico a yourdomain.com se enrutará a la aplicación Heroku CNAME (que es el mejor enfoque ).

Una nota, sin embargo, si está en la pila de Cedar , no la use proxy.heroku.compara el host de su wwwCNAME. En lugar de usar your-app-name.herokuapp.com. Estos detalles están cubiertos aquí .

GoDaddy también especifica que para que su nombre de dominio se reenvíe, su registro A debe apuntar a 64.202.189.170 o debe estar entre los siguientes rangos: 50.63.202.1 - 50.63.202.31 o 184.168.221.1 - 184.168.221.31.

Ryan Daigle
fuente
14
¿esto crea una advertencia / error si está utilizando SSL como reclamos heroku? dijeron que si https: // example.com se redirige, hay una advertencia.
Jaqx
2
@jaqx, esto me está sucediendo, ¿encontraste una manera de evitar que los usuarios reciban esta advertencia?
jackerman09
3
@ jackerman09 Me cansé de la molestia y me cambié a DNSimple
Jaqx
55
@ Matt no hay forma de hacer esto con GoDaddy. Utilice la función ALIAS / ANAME de otros proveedores como DNSimple o DNS Made Easy si lo requiere.
Ryan Daigle
3
@RyanDaigle Gracias Ryan. Recomiendo a todos que abandonen GoDaddy por más de una razón . NameCheap.com es a quien uso ahora. Son geniales y apoyan lo que estaba tratando de hacer. Además, NameCheap acepta bitcoin .
Matt
22

También puede usar http://wwwizer.com para reenviar desde su dominio desnudo a su www. En GoDaddy en el administrador de DNS bajo el registro A en el tipo de encabezado @ en 174.129.25.170. Redirigirán automáticamente del dominio desnudo a uno con www. en frente de eso.

TMilligan
fuente
55
¿Por qué pagar otra tarifa a otra persona?
Benjamin
44
Usted, señor, es un salvavidas. @ Vezu: el reenvío sin SSL es completamente gratuito. Simplemente apunte su registro A para el dominio desnudo a esa dirección IP y redirigirá el navegador al dominio www. Ni siquiera necesitas una cuenta con ellos.
P O'Conbhui
Estoy tratando de incorporar wwwizer para el mío, y en mi registro A tengo el host como "@" y los puntos como 174.129.25.170, según las instrucciones de wwwizer, ¡pero recibo su página de mensaje de error cuando visito mi dominio desnudo! ¿Hice esto correctamente?
tx291
7

En el Editor de zonas DNS de GoDaddy, querrá configurar su registro CNAME www para que apunte a @. En su Registro A, usará un comodín (*) para apuntar a la dirección IP y un segundo Registro A que use @ como host que también apuntará a la dirección web. De esta manera,

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

ingrese la descripción de la imagen aquí

Preguntas frecuentes

¿Puedo señalar * .midominio.com a mi aplicación Heroku?

Sí, con la función gratuita Dominios personalizados de Heroku, puede apuntar un dominio comodín a su aplicación.

¿Qué direcciones IP debo usar para apuntar mi dominio personalizado a Heroku?

La pila de enrutamiento de Heroku usa una colección de direcciones IP que pueden cambiar en cualquier momento, y no se admite el uso de registros A para apuntar a su aplicación. Para asegurarse de que su dominio siempre apunte correctamente a la malla de enrutamiento, configure subdominios (por ejemplo, www en www.example.org) utilizando un registro CNAME:

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

Deben evitarse los dominios desnudos (o desnudos / vértices) (por ejemplo, example.org) debido a su disponibilidad y consecuencias de tiempo de actividad.

¿Por qué no puedo agregar subdominio.midominio.com para mi aplicación?

En algunos casos, los intentos de agregar un dominio personalizado (como subdominio.midominio.com) para una aplicación pueden generar un error como este:

 ! mydomain.com is owned by another user

Todas las aplicaciones para un dominio base dado deben ser propiedad de la misma cuenta de Heroku. El error anterior significa que otra persona ya ha agregado un dominio personalizado mydomain.com a una de sus aplicaciones.

kobaltz
fuente
1
¿La dirección IP y la dirección web de Heroku serían appname.heroku.com o proxy.heroku.com?
Andrew Latham
1
Realmente deberías mirar este artículo, devcenter.heroku.com/articles/custom-domains , ya que cubre todo lo que estás buscando hacer.
kobaltz
1
Este enfoque apunta el CNAME wwwa @, que todavía enruta el tráfico a través de direcciones IP fijas (que tiene las mismas desventajas que los registros A). Utilice una redirección de nivel superior; en GoDaddy, esto se denomina "reenvío".
Ryan Daigle
5

Si tiene configuradas las direcciones IP en su dominio simple y su nombre de usuario www a yourappname.herokuapp.com, entonces todo lo que necesita hacer es usar algo como RackRewrite en su aplicación para redirigir las solicitudes cuando lleguen a su aplicación.

Lo que desea configurar es que cualquier solicitud al dominio simple se redirija a su dirección www. Después de seguir las instrucciones de instalación, agregue un inicializador en config / initializers

 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'

Es decir, si la URL solicitada no es www.yourdomain.com, entonces 301 la redirige a www.yuordomain.com pero solo si se está ejecutando en producción.

John Beynon
fuente
1
Idealmente, esto se hace a nivel de DNS evitando un viaje a través de las direcciones IP fijas de Heroku. Además, ¿no estás seguro de si es una aplicación Ruby o no?
Ryan Daigle
Ryan, las redirecciones no se pueden hacer en el nivel DNS. Siempre se hacen por HTTP.
Emil Vikström
¿Por qué como inicializador y por qué no ponerlo en la configuración del entorno de producción?
ckarbass
Cuando uso heroku + mi dominio personalizado, ¿debo tener algún registro A que apunte a heroku? En caso afirmativo, ¿cuál es su valor?
Alan Coromano
3

Para que esto funcione con Network Solutions, haga lo siguiente:

Soluciones de red que apuntan a yourdomain.com a www.yourdomain.com. Así es cómo.

  1. Dentro del Administrador de cuentas , seleccione Mis nombres de dominio

  2. Seleccione el nombre de dominio que desea administrar

  3. En el cuadro verde, seleccione Cambiar los puntos de dominio

  4. Seleccione DNS avanzado , luego Continuar

  5. Primero, edite los Registros A seleccionando Editar Registros A

    Para "@ none" ingrese la siguiente dirección IP 205.178.189.129, borre los registros para "www" y "* (Todos los demás)" , luego seleccione Continuar

  6. En segundo lugar, edite los alias de host (registros CNAME) seleccionando Editar registros CNAME

    Ingrese "www" en la columna Alias

    Deje TTL configurado en 7200 pero en la misma línea, ingrese los servidores de nombres provistos por el servicio de blogs en la sección Otro host [IE SIGA LAS INSTRUCCIONES DE HEROKU AHORA www -> yourapp.herokuapp.com (Pila de cedro)]

    Seleccione Continuar

Ahora espere y verifique los dominios con el siguiente comando de terminal:

host domain.com
host www.domain.com
blnc
fuente