Ya agregué un dominio personalizado a mi aplicación Heroku y funciona con www.domain.com
.
Necesito saber cómo configurar el dominio sin www
resolver también la aplicación.
Aquí está mi configuración de DNS actual:
$TTL 86400
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2013041500 ; serial
14400 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum
@ IN NS robotns3.second-ns.com.
@ IN NS robotns2.second-ns.de.
@ IN NS ns1.first-ns.de.
@ IN A 88.198.38.XXX
localhost IN A 127.0.0.1
mail IN A 88.198.38.XXX
ftp IN CNAME www
imap IN CNAME www
loopback IN CNAME localhost
pop IN CNAME www
relay IN CNAME www
smtp IN CNAME www
www IN CNAME appname.herokuapp.com.
@ IN MX 10 mail
¿Cuáles son los ajustes correctos para utilizar de modo que tanto example.com
y www.example.com
apuntaría correctamente a mi Heroku aplicación?
Respuestas:
(Nota: los dominios raíz, base y ápice son todos iguales. Se usan indistintamente para google-foo).
Tradicionalmente, para apuntar su dominio ápice, usaría un registro A que apunta a la IP de su servidor. Esta solución no se escala y no es viable para una plataforma en la nube como Heroku, donde varios backends que cambian con frecuencia son responsables de responder a las solicitudes.
Para subdominios (como
www.example.com
), puede usar registros CNAME que apunten ayour-app-name.herokuapp.com
. A partir de ahí, Heroku gestiona los registros dinámicos A detrásyour-app-name.herokuapp.com
para que estén siempre actualizados. Desafortunadamente, la especificación DNS no permite registros CNAME en el ápice de la zona (el dominio base). (Por ejemplo, los registros MX se romperían ya que el CNAME se seguiría primero hasta su destino).Volviendo a los dominios raíz, la solución simple y genérica es no usarlos en absoluto. Como medida alternativa, algunos proveedores de DNS ofrecen configurar un redireccionamiento HTTP por usted. En ese caso, configúrelo para que
example.com
sea un redireccionamiento HTTP awww.example.com
.Algunos proveedores de DNS han presentado soluciones personalizadas que permiten un comportamiento similar a CNAME en el vértice de la zona. Que yo sepa, no tenemos registro de alias de DNSimple y registro ANAME de DNS Made Easy ; ambos se comportan de manera similar.
Con ellos, puede configurar sus registros como (usando la notación de archivo de zona, aunque probablemente lo haga en su interfaz de usuario web):
Recuerde que
@
aquí hay una abreviatura para el dominio raíz (example.com
). También tenga en cuenta que los puntos finales son importantes, tanto en los archivos de zona como en algunas interfaces de usuario web.Ver también:
Observaciones:
La Route 53 de Amazon también tiene un tipo de registro ALIAS, pero es algo limitado, ya que solo funciona para apuntar dentro de AWS. Por el momento, no recomendaría usar esto para una configuración de Heroku.
Algunas personas confunden a los proveedores de DNS con los registradores de nombres de dominio, ya que existe cierta superposición con las empresas que ofrecen ambos. Tenga en cuenta que para cambiar su DNS a uno de los proveedores antes mencionados, solo necesita actualizar los registros de su servidor de nombres con su registrador de dominio actual. No es necesario transferir el registro de su dominio.
fuente
Para apuntar su dominio ápice / raíz / desnudo a una aplicación alojada en Heroku, deberá utilizar un proveedor de DNS que admita registros similares a CNAME (a menudo denominados registros ALIAS o ANAME). Actualmente Heroku recomienda :
Cualquiera de los que elija, su registro tendrá el siguiente aspecto:
Grabar:
ALIAS
oANAME
Nombre: vacío o
@
Objetivo:
example.com.herokudns.com.
Eso es todo lo que necesitas.
Sin embargo, no es bueno para SEO tener resueltas tanto la versión con www como la versión sin www. Uno debe apuntar al otro como la URL canónica. La forma en que decida hacerlo depende de si está usando HTTPS o no. Y si no es así, probablemente debería estarlo, ya que Heroku ahora maneja certificados SSL automáticamente y de forma gratuita para todas las aplicaciones que se ejecutan en dynos pagados.
Si usted no está utilizando HTTPS, sólo puede configurar un registro 301 de redireccionamiento con la mayoría de los proveedores de DNS que señalan el nombre
www
ahttp://example.com
.Si está utilizando HTTPS, lo más probable es que deba manejar la redirección en el nivel de la aplicación. Si desea saber por qué, consulte estas explicaciones cortas y largas , pero básicamente dado que su proveedor de DNS u otro servicio de reenvío de URL no tiene, y no debería tener, su certificado SSL y clave privada, no pueden responder a HTTPS. solicitudes de su dominio.
Para manejar los redireccionamientos a nivel de la aplicación, deberá:
heroku domains:add example.com
yheroku domains:add www.example.com
)www
apuntando awww.example.com.herokudns.com.
SECURE_SSL_REDIRECT
enTrue
)Consulte esta publicación de DNSimple para obtener más información.
fuente
Ahora estoy usando Google Apps (para correo electrónico) y Heroku como servidor web. Estoy usando la función de redireccionamiento permanente 301 de Google Apps para redirigir el dominio simple a WWW.your_domain.com
Puede encontrar las instrucciones paso a paso aquí https://stackoverflow.com/a/20115583/1440255
fuente
No se le permite tener un registro CNAME para el dominio, ya que CNAME es una función de alias que cubre todos los tipos de datos (independientemente de si el cliente busca registros MX, NS o SOA). Los CNAME también siempre se refieren a un nuevo nombre, no a una dirección IP, por lo que en realidad hay dos errores en una sola línea
Cambiar ese CNAME a un registro A debería hacer que funcione, siempre que la dirección IP que use sea la correcta para su aplicación Heroku.
La única forma correcta en DNS de hacer que un
domain.com
nombre simple funcione en el navegador es apuntar el dominio a una dirección IP con un registro A.fuente
host app-name.herokuapp.com
los resultados son dinámicos. Si los codifica, su aplicación eventualmente se frenará. Consulte las soluciones ANAME / CNAME recomendadas en otro comentario.