Páginas alojadas en dominios personalizados

Páginas alojadas en dominios personalizados

Tengo un servicio en línea que proporciona un perfil público para los usuarios. Los usuarios pueden registrarse y ver sus perfiles en www.example.com/users-name.

Quiero brindar un servicio premium donde el usuario pueda acceder a este perfil a través de su propio nombre de dominio (con el sitio aún alojado por mí). Entonces, si se registraran users-custom-domain.com, podrían visitar ese sitio y verían el mismo perfil que el anterior, además de algunas funciones premium.

¿Qué tipo de infraestructura se necesita para respaldar esto? ¿Presumiblemente el usuario tendría que apuntar su DNS a mis servidores? Si estoy alojando mi producto en un host en la nube como Heroku, ¿se puede lograr esto? ¿Cada usuario que utilice un dominio personalizado accedería a una aplicación web aislada? Por ejemplo, si se utiliza una infraestructura en la nube, ¿cada "instancia" debería generar una nueva aplicación o se puede compartir de alguna manera?

Sé que hay muchas maneras de lograr esto, solo estoy buscando ideas y mejores prácticas, ya que no estoy seguro de por dónde empezar (por ejemplo, ¿qué tal si.me o tumblr logran esto)?

Respuesta1

Necesitas:

  1. DNS para traducir el nombre de dominio del usuario a un nombre o dirección que usted controle. Puede alojar ese servicio y codificar los registros necesarios, o el usuario puede administrar su propio DNS y configurar los registros él mismo. Le recomiendo que tenga un nombre en su dominio al que los usuarios le pongan CNAME en sus registros; Como descubrió Github cuando tuvieron que cambiar la numeración, si permites que las personas codifiquen las direcciones IP, las cosas se complican.
  2. Su infraestructura de servicios web necesita saber cómo responder a las solicitudes del dominio del usuario y qué contenido ofrecerle. Por lo general, esto implica que el usuario haga algo en su perfil para decir: "Te señalaré tal o cual dominio" y luego tienes una plomería automatizada detrás de escena que configura el nivel del servidor web para hacer lo correcto.

Todo lo que hay en tu aplicación se puede compartir; No hay absolutamente ninguna razón para crear algo separado para atender a cada usuario. La implementación por proveedor es algo que deberá descubrir usted mismo; Hay demasiadas posibilidades y combinaciones para brindarte una revisión completa.

información relacionada