
Atendo vários sites para meus clientes em um servidor. Durante o desenvolvimento, simplesmente crio um subdomínio no meu próprio domínio. Exemplo client.mydomain.example
. Muitas vezes meus clientes já possuem domínio e email com outro provedor. Não quero hospedar e-mail para meus clientes.
Eu tentei três maneiras diferentes de configurar o DNS:
- Faça um redirecionamento HTTP de
clientdomain.example
parawww.clientdomain.example
e, em seguida, um registro CNAME parawww.clientdomain.exmple
apontar para um subdomínio temporário em meu servidorclient.mydomain.example
. - Tenha um registro A
(*.)clientdomain.tld
para o IP do meu servidor, mas deixando MX e outros pontos para apontar para o host de e-mail atual. - Configure meus próprios servidores de nomes e use-os no domínio do meu cliente. Em seguida, configure da mesma maneira que 2.
Pelo que posso ver, há prós e contras em todos os três:
- Prós:Conveniente. Posso alterar o endereço IP no meu servidor, mudar para outro serverpark, configurar à prova de falhas, balanceamento de carga e assim por diante.
Contras:Eu forço meus clientes a usarwww
e, se eles já tiverem um site,non-www
poderão sofrer problemas de SEO (?). Além disso, o registro CNAME extra é ruim para a velocidade da página. - Prós:Sem problemas de SEO ou velocidade da página. Fácil configuração.
Contras:Se eu precisar alterar o IP, preciso fazer alterações no DNS para TODOS os sites dos meus clientes. - Prós:Sem problemas de SEO ou velocidade da página. Se eu precisar mudar de servidor, posso fazer isso para todos os sites de meus clientes de uma só vez, já que as configurações de DNS são convenientemente configuradas em meus próprios servidores de nomes.
Contras:Preciso executar meus próprios servidores de nomes. Também preciso configurar registros MX e possivelmente outros registros DNS para meus clientes.
Minha forma preferida agora é 1., já que acho que os prós superam os contras na maioria dos meus casos.
Existe alguma outra maneira de redirecionar de um domínio para um servidor sem especificar o endereço IP?
Esclarecimento: a solução 1 funciona para mim, mas é mais lenta por causa das duas etapas antes de chegar ao registro A final. Idealmente, eu gostaria de apontar ambos non-www
para www
o domínio do meu servidor, mas até onde eu sei, isso não é possível com um registro CNAME, certo?
Responder1
Observe que a CNAME
não é um redirecionamento HTTP.
Somente o redirecionamento aqui é de
example.com
parawww.example.com
e pode se tornar permanente. O extraCNAME
está no nível DNS e será armazenado em cache, portanto não afeta realmente o desempenho nem a velocidade do site.Seu servidor web precisa estar ciente do domínio do cliente, independentemente de quem hospeda o DNS.
É por isso que prefiro o seu caso nº 1, com um melhor entendimento:
- Oriente seu cliente a adicionar
www.example.com. CNAME client.example.net.
para poder alterar o endereço IP por conta própria, se necessário. - Aconselhar como fazer um redirecionamento de não www para www em seu servidor web atual.
- Vincule o nome de domínio real à
client.example.net
configuração do seu servidor web.
Com o caso nº 3, você não apenas hospedará tecnicamente servidores DNS, mas também será responsável por fazer atualizações sempre que um cliente precisar de um novo registro de terceiros.
Responder2
Então, se entendi corretamente, o que você quer fazer é ter a capacidade, após a fase de desenvolvimento, de simplesmente apontar um cname para o seu servidor (client.mydomain.tld) e lidar com o resto em seu próprio servidor.
O que tentei em minha configuração agora com Cloudflare para gerenciar minhas entradas DNS foi apenas colocar dois registros cname, um www.client.tld e um client.tld. Depois disso, você pode tratar a solicitação em seu servidor e apenas reescrever a URL de acordo com as necessidades específicas.
Eu também escolheria sua opção número um, pois é a mais fácil de manusear.
E também encontrei algumas informações sobre o uso de registros CNAME aqui: O CNAME deve ser usado para subdomínios?