Páginas hospedadas em domínios personalizados

Páginas hospedadas em domínios personalizados

Tenho um serviço online que fornece um perfil público aos usuários. Os usuários podem se inscrever e visualizar seus perfis em www.example.com/users-name.

Quero fornecer um serviço premium onde o usuário possa acessar esse perfil através de seu próprio nome de domínio (com o próprio site ainda hospedado por mim). Então, se eles se registrassem users-custom-domain.com, poderiam visitar esse site e veriam o mesmo perfil acima, além de alguns recursos premium

Que tipo de infraestrutura precisa existir para apoiar isso? Presumivelmente, o usuário teria que apontar seu DNS para meus servidores? Se eu estiver hospedando meu produto em um host de nuvem como o Heroku, isso pode ser alcançado? Cada usuário que usa um domínio personalizado acessaria um aplicativo da web em silo? Por exemplo, se estiver usando uma infraestrutura em nuvem, cada "instância" deve gerar um novo aplicativo ou isso pode ser compartilhado de alguma forma?

Eu sei que há muitas maneiras de conseguir isso, estou apenas procurando ideias e melhores práticas, pois não sei por onde começar (por exemplo, como o about.me ou o tumblr conseguem isso).

Responder1

Você precisa:

  1. DNS para traduzir o nome de domínio do usuário em um nome ou endereço que você controla. Você pode hospedar esse serviço e codificar os registros necessários, ou o usuário pode gerenciar seu próprio DNS e definir os registros por conta própria. Eu recomendo que você tenha um nome em seu domínio para o qual os usuários possam dar CNAME aos seus registros; como o Github descobriu quando teve que renumerar, se você permitir que as pessoas codifiquem endereços IP, as coisas ficarão complicadas.
  2. Sua infraestrutura de serviços web precisa saber como responder às solicitações do domínio do usuário e qual conteúdo servir para ele. Normalmente, isso envolve o usuário fazendo algo em seu perfil para dizer: "Estarei apontando tal e tal domínio para você" e então você automatizou o encanamento nos bastidores que configura a camada do servidor da web para fazer a coisa certa.

Tudo no seu aplicativo pode ser compartilhado; não há absolutamente nenhuma razão para criar algo separado para atender cada usuário. A implementação por provedor é algo que você precisará descobrir por si mesmo; existem muitas possibilidades e combinações para fornecer uma revisão abrangente.

informação relacionada