Я управляю несколькими веб-сайтами, которые в настоящее время имеют следующую конфигурацию DNS:
example.com - A Record - Production Server IP
test.example.com - A Record - Test Server IP
www.example.com - CNAME - example.com
beta.example.com - CNAME - test.example.com
dev.example.com - CNAME - test.example.com
Это уместное использование записей CNAME? Я поискал в Интернете и не нашел четкого ответа. Некоторые люди утверждают, что записи CNAME плохие (однако они не понимают, почему это так), и предлагают следующую настройку:
example.com - A Record - Production Server IP
test.example.com - A Record - Test Server IP
www.example.com - A Record - Production Server IP
beta.example.com - A Record - Test Server IP
dev.example.com - A Record - Test Server IP
Какой из этих подходов лучше (и почему)?
Примечание: Субдомены не требуют собственных записей MX, так что здесь это не проблема.
Да, это подходящее использование CNAME. В дискуссиях, в которых я участвовал, аргументы, как правило, звучат так:
Против CNAME:
В пользу CNAME:
Попробовав несколько разных способов для этого у меня теперь есть личный любимый стиль. Это:
Я считаю, что эта установка работает хорошо. Он запрещает дополнительные поиски DNS для CNAMES; и если сервер выйдет из строя, я все равно могу довольно быстро изменить общедоступный DNS.
Вот (импровизированный) пример в синтаксисе BIND:
;name ttl class rr value
server01 30m IN A 192.168.0.3
server02 30m IN A 192.168.0.4
webmail 24h IN CNAME server01
extranet 24h IN CNAME server02
ftp 24h IN CNAME server02
Да, это уместно.
Мои лучшие практики, которыми разделяют многие люди, заключаются в создании 1 записи A для каждого IP-адреса сервера; и используйте CNAMES для чего-нибудь еще.
Типичный пример:
server1.example.com. IN A 192.168.0.1
server2.example.com. IN A 192.168.5.2
www IN CNAME server1
ftp IN CNAME server1
beta IN CNAME server2