Назад | Перейти на главную страницу

ПРЕДУПРЕЖДЕНИЕ при поиске в WWW CNAME с помощью viewdns.info

Почему я получаю это предупреждение для одного из моих доменов при использовании ViewDNS.info инструмент тестирования:

Тесты записи WWW

ПРЕДУПРЕЖДЕНИЕ Поиск в WWW CNAME

Ой! У вас есть запись CNAME для вашей записи WWW, но связанная с ней запись A не возвращается! Это означает, что необходимо выполнить дополнительный поиск, что приведет к чрезмерному увеличению времени загрузки вашего сайта.

Я искал это предупреждение, но ничего значимого не нашел, а результаты поиска Google возвращают только одну страницу без особой релевантности.

Кто-нибудь знает, что это значит и почему это происходит? И вот настоящий кикер - если вы проверьте godaddy.com с помощью ViewDNS.info, их домен также получает это предупреждение! Немного утешительно знать, что я не единственный, у кого есть эта проблема, но я хочу понять, почему? Как я могу это исправить? И, что более важно, мне нужно что-то изменить (1) в моих записях DNS, или (2) на моем сервере / хостинге, или (3) в обоих местах, или (4) это каким-то образом связано с NameSilo NS?


Я протестировал 2 своих домена с viewdns.info; один зарегистрирован в ИмяSilo, еще один с Domain.com.

exampledomain1.com (NameSilo + VPS)

exampledomain2.com (Domain.com + общий хостинг с cPanel)

Теперь, насколько я знаю (что ограничено, когда дело доходит до DNS, поскольку я самоучка), оба они настроены одинаково. Конечно, разница только в значениях IP-адресов, доменных имен и некоторых параметров. Но в целом они равны для записей A и CNAME.

Примеры:

A record on NameSilo
.exampledomain1.com => 1.2.3.4
*.exampledomain1.com => 1.2.3.4

A record on Domain.com
@.exampledomain1.com => 1.2.3.4
*.exampledomain1.com => 1.2.3.4

Ноты:

В обоих доменах я использую версию без www, а на стороне сервера выполняю все перенаправления. Эта часть работает нормально.

В NameSilo я пустил .exampledomain1.com выше, а на Domain.com это @ .exampledomain2.com - Я думаю, эффект такой же, например, указывает на "корень"?

CNAME records on NameSilo/Domain.com respectively

www.exampledomain1.com => exampledomain1.com
www.exampledomain2.com => exampledomain2.com

Когда я выполняю общую проверку DNS, exampledomain2.com (Domain.com) не возвращает ошибок в разделе Тесты записи WWW > Поиск в WWW CNAMEоднако я получаю предупреждение для exampledomain1.com (NameSilo).

Я тестировал домены с помощью dig (подстановочный знак * ниже означает номер 1 или 2):

dig exampledomain*.com
dig www.exampledomain*.com
dig CNAME exampledomain*.com
dig CNAME www.exampledomain*.com

И я получил в целом очень похожие отчеты, что означает, что в этом отношении все в порядке.

Одна вещь о NameSilo заключается в том, что есть некоторые проблемы с SOA, например:

error: All nameservers have same SOA serial number
warning: SOA serial number format

Но эта часть не контролируется мной (я думаю).

Спасибо!

TL; DR;

я считать основная причина предупреждения "У вас есть запись CNAME для вашей записи WWW, но связанная с ней запись A не возвращается!" - это настройка DNS-сервера, не зависящая от вас.

Вы можете обойти это, сделав запись CNAME записью A.


Если у вас есть авторитетный сервер имен с зоной со (среди прочего) следующими двумя записями ресурсов:

    example.com.  3600   IN  A      192.0.2.1
www.example.com.  3600   IN  CNAME  example.com. 

И рекорд для www.example.com. запрашивается, тогда минимальный ответ это именно та запись CNAME, и поисковый запрос может вернуть:

;; ANSWER SECTION:
www.example.com.       3600    IN      CNAME   example.com.


;; Query time: 1 msec

После этого минимального ответа у вас по-прежнему нет нужного IP-адреса, и вашему преобразователю потребуется выполнить второй запрос, чтобы узнать, что такое example.com. решает. Этот запрос для example.com. приведет к ответу:

;; ANSWER SECTION:
example.com.           3600    IN      A       192.0.2.1


;; Query time: 1 msec

AFAIK это обычный но не обязательно (в особом случае, когда запись CNAME находится в той же зоне или в другой зоне, для которой тот же DNS-сервер также является авторитетным), что сервер имен делает обоснованное предположение, что запрос, который возвращает тип записи CNAME в качестве ответа, будет как и ожидалось, последует запрос для этого CNAME.
Сервер имен вытеснит это, он интерпретирует запрос, развернет CNAME и просто отправить обе записи как один ответ. (По крайней мере, это кажется логикой в ​​старых RFC 1034 пункт 4.3.2).

;; ANSWER SECTION:
www.example.com.       3600    IN      CNAME   example.com.
example.com.           3600    IN      A       192.0.2.1

;; Query time: 1 msec

Это увеличивает ответ, но в большинстве случаев избавляет клиента от второго запроса и второго приема-передачи.

Ваш сервер имен будет работать быстрее, если ему не придется выполнять эту логику.

Поскольку вы не контролируете сервер имен, а только данные для вашего собственного домена, вы можете отключить предупреждение, просто не используя запись CNAME, а используя вместо этого запись A и создав зону:

    example.com.  3600   IN  A      192.0.2.1
www.example.com.  3600   IN  A      192.0.2.1