Prática recomendada para colocar registros DNS e subdomínios

6

Digamos que eu tenha mydomain.com :

É melhor usar a opção A:

[A] mydomain.com      123.45.67.89
[A] www.mydomain.com  123.45.67.89

ou opção B:

[A]     mydomain.com      123.45.67.89
[CNAME] www.mydomain.com  mydomain.com

Qual seria o impacto, na verdade, escolhendo um após o outro?

A segunda pergunta é, digamos, eu quero ter um subdomínio em blog.mydomain.com . E eu configurei como um registro A como segue:

[A] blog.mydomain.com  123.45.67.89

E para torná-lo também acessível quando o usuário estiver digitando www.blog.mydomain.com , também insiro o seguinte registro:

[A] www.blog.mydomain.com  123.45.67.89

A pergunta é, esta é uma prática comum? Ou existem maneiras melhores de fazer isso? O que eu quero alcançar é (acesso do usuário - > redirecionamento para):

mydomain.com          -> mydomain.com
www.mydomain.com      -> mydomain.com
blog.mydomain.com     -> blog.mydomain.com
www.blog.mydomain.com -> blog.mydomain.com
other.mydomain.com    -> error

Felicidades!

    
por nightrod 04.05.2011 / 21:15

3 respostas

8

Geralmente, a melhor prática, para facilitar a manutenção, seria algo assim:

[A]     mydomain.com            123.45.67.89
[CNAME] www.mydomain.com        mydomain.com
[CNAME] blog.mydomain.com       mydomain.com
[CNAME] www.blog.mydomain.com   mydomain.com
[A]     mail.mydomain.com       123.45.67.89
[MX]    mydomain.com            mail.mydomain.com

Isso permite que você altere seu registro A para meudominio.com sem interromper seu registro de e-mail ou precisar alterar cada subdomínio manualmente.

Você também precisará configurar seu servidor da Web para responder sobre esses nomes. Aqui está um exemplo de como fazer isso no Apache:

NameVirtualHost 123.45.67.89:80
<VirtualHost 123.45.67.89:80>
    DocumentRoot /var/www/html/mydomain.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    ErrorLog logs/mydomain.com-error_log
    CustomLog logs/mydomain.com-access_log combined
</VirtualHost>

<VirtualHost 123.45.67.89:80>
    DocumentRoot /var/www/html/blog.mydomain.com
    ServerName blog.mydomain.com
    ServerAlias www.blog.mydomain.com
    ErrorLog logs/blog.mydomain.com-error_log
    CustomLog logs/blog.mydomain.com-access_log common
</VirtualHost>

Para os redirecionamentos mencionados:

Question is, is this a common practice? Or are there better ways to do this? What I want to achieve is (user access -> redirect to):

mydomain.com          -> mydomain.com
www.mydomain.com      -> mydomain.com
blog.mydomain.com     -> blog.mydomain.com
www.blog.mydomain.com -> blog.mydomain.com
other.mydomain.com    -> error

Para realmente alterar o URL que é exibido na barra de endereços de um cliente, isso precisa ser feito no lado do servidor com o mod_rewrite e não é uma função do DNS.

    
por 04.05.2011 / 21:32
3

Opção B. Use registros CNAME para especificar aliases para registros A existentes. O mesmo se aplica ao blog & entradas de blog. A escolha do registro CNAME permite alterar o IP real em um local (o registro A). Se você fizer todas as entradas como registros A, precisará atualizar cada uma individualmente.

    
por 04.05.2011 / 21:19
2

Na primeira pergunta, você pode fazer isso de qualquer maneira. O único impacto real de ter um como CNAME é que, quando esse nome é procurado, fará com que uma segunda pesquisa de DNS, em alguns casos, vá buscar o nome para o qual está apontando (agora eu procuro www.example.com e obtenho um ponteiro para example.com e tem que ir procurar isso para realmente obter o IP). A diferença é geralmente da ordem de milissegundos e, às vezes, o IP do ponteiro também será incluído na resposta se o servidor souber, evitando a segunda consulta. Ainda cria pacotes DNS maiores. Eu prefiro apenas defini-las como A records e usar CNAME s para hosts fora do meu próprio domínio.

Quanto à segunda pergunta, você pode configurá-las da maneira que preferir, apenas certifique-se de que o servidor web responda por elas e forneça o redirecionamento apropriado no nível HTTP (lembre-se, o DNS não redirecionará a solicitação de endereço do navegador para outro URL).

    
por 04.05.2011 / 21:20