Почему проверка показывает CDN, а не исходный сервер
Посетитель
запрашивает домен
Edge-сервер CDN
104.21.x.x
именно его возвращает DNS
Исходный сервер
реальный IP не раскрывается
Как CDN используют DNS для маршрутизации трафика по миру
Главная идея CDN в том, чтобы отдавать контент с сервера, физически близкого к каждому посетителю, а не обслуживать весь мир с одного исходного сервера. В большинстве реализаций это обеспечивает DNS: разным посетителям на один и тот же запрос выдаются разные ответы.
Один домен, разные ответы, и так задумано
Когда перед доменом стоит CDN, его DNS-записи обычно указывают (часто через CNAME) на инфраструктуру самого CDN-провайдера, а не на единый IP исходного сервера. Серверы имён CDN затем отвечают на каждый входящий запрос с учётом того, откуда он, судя по всему, пришёл, и возвращают IP-адрес ближайшей или наименее загруженной для этого посетителя пограничной точки (edge). Два человека на разных концах света, запрашивающие один и тот же домен, вполне корректно могут получить два совершенно разных IP-адреса.
- Поэтому два запроса «домен в IP» из разных мест с разными результатами — не ошибка, а система, работающая как задумано.
- Поэтому же домены за CDN при повторных проверках нередко разрешаются в несколько адресов: единственного «правильного» ответа нет, есть только подходящие на данный момент.
- На таких записях обычно ставят короткий TTL, чтобы CDN мог быстро убрать трафик с перегруженной пограничной точки, не дожидаясь истечения длинного кеша.
Что это значит при диагностике
Если сайт за CDN ведёт себя странно у одних посетителей и нормально у других, быстрее всего понять, виновата ли конкретная пограничная точка, а не исходный сервер или само приложение, можно так: проверить, во что домен разрешается из разных точек наблюдения. Инструмент, который разрешает имя напрямую и показывает необработанный ответ, без собственного DNS-кеша браузера перед ним, даёт более чистую картину того, что отдаётся данному региону прямо сейчас.
Настоящий адрес исходного сервера намеренно скрыт
Побочный эффект, о котором стоит знать: разрешение домена за CDN показывает адрес пограничной сети, а не исходного сервера за ней, и обычно это сделано намеренно, а не случайно. Скрытие настоящего IP исходного сервера от публичного DNS — одна из простейших и самых эффективных защит сайта от прямой DoS-атаки на реальную инфраструктуру в обход куда более мощной пропускной способности CDN перед ней. Это также означает, что одна лишь проверка домена не покажет, где сайт «на самом деле» размещён, а лишь то, где его трафик сейчас входит в сеть CDN, и это существенно другой вопрос.
| Признак | За CDN | Напрямую к исходному серверу |
|---|---|---|
| Повторные проверки из одного места | Обычно стабильны | Обычно стабильны |
| Проверки из разных регионов | Часто разные адреса | Обычно везде один и тот же адрес |
| TTL | Обычно короткий (60-300 с) | Часто длиннее: часы и более |
| Кому принадлежит полученный адрес | CDN-провайдеру | Хостинг-провайдеру самого сайта |
Проверка WHOIS или ASN полученного адреса
Быстрый практический способ понять, стоит ли домен за CDN, — выяснить, кому принадлежит полученный IP-адрес, отдельно от самой проверки домена. Адрес, зарегистрированный за номером автономной системы (ASN) известного CDN или облачного провайдера, — сильный признак того, что перед вами пограничная сеть, а не исходный сервер, и он сразу объясняет, почему один и тот же домен может показывать в другом регионе другой адрес без каких-либо неисправностей. Это полезный второй шаг после проверки, а не её замена: DNS-ответ сообщает текущий адрес, а проверка владельца говорит, к какой инфраструктуре этот адрес относится.
Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.
Читайте также
Одно имя хоста — несколько записей A
1-й ответ
93.184.216.34
2-й ответ
93.184.216.35
3-й ответ
93.184.216.36
Резолвер возвращает все записи, обычно с ротацией порядка
DNS round-robin: как распределить трафик между IP-адресами
Как DNS round-robin возвращает несколько адресов, что он может и чего не может для распределения нагрузки и как кеширование влияет на наблюдаемые результаты.
Одно имя хоста — несколько записей A
1-й ответ
93.184.216.34
2-й ответ
93.184.216.35
3-й ответ
93.184.216.36
Резолвер возвращает все записи, обычно с ротацией порядка
DNS-балансировка нагрузки: методы, плюсы и ограничения
Сравниваем DNS-распределение трафика с прикладными балансировщиками: как TTL, проверки работоспособности и региональные ответы влияют на доступность.
Почему проверка показывает CDN, а не исходный сервер
Посетитель
запрашивает домен
Edge-сервер CDN
104.21.x.x
именно его возвращает DNS
Исходный сервер
реальный IP не раскрывается
Что такое исходный сервер и чем он отличается от CDN
Что делает исходный сервер за CDN или обратным прокси, почему публичный DNS может показывать адрес пограничной точки и как безопасно диагностировать сбои.