Se definirmos um registro A e um registro CNAME para o mesmo subdomínio, como é feita a pesquisa de DNS?
Por exemplo,
A record:
example.com => xx.xx.xx.xx
www.example.com => xx.xx.xx.xx
CNAME record:
www. => example.com
Ao resolver www.example.com , o resolvedor de DNS procura diretamente o registro A para o subdomínio www e obtém o ip, ou procura o CNAME para www para obter o domínio de redirecionamento (example.com) e, em seguida, procura o A registro de example.com para pegar o ip no final?
O que são
CNAME
registros?O que um
CNAME
registro faz é definir o nome do proprietário (o nome onde o registro é adicionado) para ser um alias para o nome noCNAME
valor do registro (o nome canônico , conforme o nome do tipo de registro).Observe que essa definição de ser um alias está no nível do nome, desconsiderando completamente os tipos de registro.
Uma implicação do nome do proprietário ser um alias é que ele também não pode ter outros registros, pois isso entraria em conflito direto com o fato de ser apenas um alias para outro nome.
Da perspectiva do resolvedor, se você consultar
A
, as opções válidas para uma resposta serão umaA
resposta digitada se o nome não for um alias ou umaCNAME
resposta digitada se o nome for um alias. Obter ambos para o mesmo nome não é uma opção (não é permitida pelo padrão e teria um comportamento definido, de qualquer maneira).Então, como meu provedor de serviços DNS pode fazer isso?
Supondo que a afirmação de que eles permitem que você adicione
CNAME
eA
registra lado a lado seja verdadeira, há algo não óbvio acontecendo com o serviço deles.Eu dividiria em duas opções principais, sem saber mais não é realmente possível saber qual é relevante no seu caso:
CNAME
registros inseridos pelo usuário, mas sim resolva os registros relevantes do nome canônico de seu final e os sirva como se estivessem diretamente no nome do alias (que é uma funcionalidade não padrão, mas alguns serviços implementaram esse tipo de pesquisas dinâmicas para "achatar"CNAME
).