«У части клиентов сайт не открывается». У вас при этом открывается всё

Худшая жалоба для поддержки — плавающая. Пользователь пишет, что сайт не грузится, вы открываете его тут же и видите работающую страницу. Воспроизвести нечего, закрыть тикет не с чем. Одна из типовых причин такой картины прячется в DNS, и её видно за минуту, если знать, куда смотреть.

Механика: адресов у сайта несколько, мёртвый — один

У домена может быть не одна A-запись, а несколько: так работает балансировка. Посетители распределяются по адресам, и когда один из серверов умер или остался в зоне после переезда, ломается не сайт, а лотерея: часть людей попадает на живой адрес, часть — на мёртвый. Вы при проверке попадаете на живой, клиент — нет.

Коварство в том, что мёртвая запись не болит. Мониторинг обычно дёргает домен, а не каждый адрес, браузер после паузы перебирает адреса до рабочего, и жалобы приходят не «сайт лежит», а «сайт долго думает» или «иногда не открывается». Такое списывают на интернет клиента.

Как это увидеть

Нужен способ узнать IP сайта со всеми записями сразу, а не с первой попавшейся — и с проверкой каждого адреса на живость. Я прогнал через такую проверку vk.com: инструмент показал шесть IPv4-адресов, и по каждому — ответ по TCP на порт 443 за 10–13 мс, обратное имя, сеть и страну. Шесть из шести живые: у крупного сайта так и должно быть.

Диагноз выглядит иначе: в списке из нескольких адресов один не отвечает ни на 443, ни на 80. Это и есть та лотерея. Обычные проверки «какой у сайта IP» здесь не помогают, потому что показывают один адрес — как правило, живой.

Что проверить после переезда сервера

  • все A-записи домена: старый адрес после переезда нередко остаётся в зоне и продолжает получать часть трафика;
  • www-версию отдельно: она задаётся своей записью и может указывать на старую площадку, когда основной домен уже переехал;
  • обратное имя адреса, если с него уходит почта: сайту PTR не обязателен, а письма без него чаще попадают в спам.

Плавающие жалобы стоит проверять на этот сценарий до того, как отвечать клиенту «у нас всё работает». Иногда правы обе стороны сразу: у вас действительно работает, у него действительно нет.