Это канонический вопрос о CNAME в верхушках (или корнях) зон
Общеизвестно, что CNAME
записи на вершине домена являются запретной практикой.
Пример:
example.com. IN CNAME ithurts.example.net.
В лучшем случае программное обеспечение сервера имен может отказаться загружать конфигурацию, а в худшем случае оно может принять эту конфигурацию и сделать недействительной конфигурацию для example.com.
Недавно я попросил компанию, предоставляющую услуги веб-хостинга, передать бизнес-подразделению инструкции, необходимые для CNAME вершины нашего домена для новой записи. Зная, что это будет самоубийственный конфиг при подаче в BIND, я посоветовал им, что мы не сможем подчиниться, и что это был общий совет. Компания, занимающаяся веб-хостингом, заняла позицию, что это не запрещается стандартным определением RFC и что их программное обеспечение поддерживает это. Если бы мы не могли CNAME apex, их совет состоял в том, чтобы вообще не иметь записи apex, и они не предоставили бы перенаправляющий веб-сервер. ...Какая?
Большинство из нас знает, что RFC1912 настаивает на этом A CNAME record is not allowed to coexist with any other data.
, но давайте будем честны с самим собой, что RFC является исключительно информационным. Из словоблудия, запрещающего эту практику, я знаю больше всего : RFC1034 :
Если CNAME RR присутствует на узле, никакие другие данные не должны присутствовать; это гарантирует, что данные для канонического имени и его псевдонимов не могут быть разными.
К сожалению, я был в отрасли достаточно долго, чтобы знать, что «не должен» - это не то же самое, что «не должен», и этого достаточно, чтобы большинство разработчиков программного обеспечения повесились. Зная, что что-либо, кроме краткой ссылки на громкий данк, было бы пустой тратой моего времени, я в итоге позволил компании ругаться за рекомендацию конфигураций, которые могут нарушить работу часто используемого программного обеспечения без должного раскрытия.
Это подводит нас к вопросам и ответам. На этот раз я бы хотел, чтобы мы действительно разбирались в безумстве топовых CNAME, а не обошли стороной проблему, как мы обычно делаем, когда кто-то публикует сообщения на эту тему. RFC1912 запрещен, как и любой другой применимый здесь информационный RFC, о котором я не думал. Давайте закроем этого ребенка.