Итак, у меня есть друг, который пытается сделать что-то необычное между своим основным доменом и поддоменами. В конечном итоге ему нужно, чтобы blog.hisdomain.com указывал на дурацкий хост cPanel, а его основной домен указывал на статический IP (для AWS).
Я не эксперт в http или dns, но я пытался помочь ему разобраться с этим, пока он не спал (сейчас в его стране ночь), но, похоже, это не особо сработало.
Я попросил его выполнить следующие шаги:
- Его основной домен был настроен в cPanel с установленными серверами имен, поэтому я попросил его создать в cPanel поддомен для blog.hisdomain.com, который просто подключался к публичному корню.
- Затем я попросил его добавить запись A для "blog" с IP хоста cPanel в качестве значения. Это сделало так, что мы могли видеть его блог по адресу blog.hisdomain.com.
- Затем я попросил его изменить запись "@" A, чтобы она указывала в другом месте. Я просто взял IP-адрес Google для этого значения. Сначала это ничего не изменило, но мы решили, что это может быть проблема распространения.
Прошло уже более 24 часов, а его основной домен все еще (теперь медленнее) переносит меня на блог. Только сейчас я вспомнил, что не просил его менять свои серверы имен или что-то еще; только запись A.Возможно ли, что наличие записи A и серверов имен вызывает некоторую путаницу и приводит к тому, что DNS игнорирует IP-адрес записи A?
решение1
Нет. Сосуществование записей A и записей NS для записи @ вполне допустимо (и довольно распространено).
Однако недопустимо, чтобы записи CNAME сосуществовали с любым другим типом записи. RFC 1034 гласит: «если запись CNAME RR присутствует на узле, то никаких других данных быть не должно; это гарантирует, что данные для канонического имени и его псевдонимов не могут отличаться». Недавно я столкнулся с этой конкретной проблемой и был ошеломлен тем, что запись TXT и запись CNAME не могут сосуществовать.
Вот несколько вещей, которые я бы сделал:
- Очистите кэш DNS-резолвера
- Windows: ipconfig /flushdns
- Linux: sudo service nscd restart
- Mac OS X
- Горный лев и лев: sudo killall -HUP mDNSResponder
- Снежный барс: sudo dscacheutil -flushcache
- Я бы убедился, что ваш друг использует запись A, а не запись CNAME.
- Я бы попросил вашего друга проверить TTL в @-записи (или в самой зоне) - вы не упомянули, какой был TTL. Хотя 86400 секунд (24 часа) - это распространенное значение TTL, всегда возможно, что оно установлено намного выше, чтобы сократить трафик DNS.
- Используйте утилиту DNS-запросов (например, dig) для прямого запроса DNS-сервера.