Ответ вслух Middle DNS, TLS и прокси обновлено

«Сайт не открывается» у части пользователей

Вопрос

Интервьюер: «После переезда на новый сервер часть пользователей видит старый сайт, часть получает ошибку сертификата. Что происходит и что делаете?»

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Здесь, похоже, две проблемы. Старый сайт видят те, чьи резолверы закешировали прежний A с большим TTL: проверяю dig к авторитативному серверу и к 77.88.8.8 и 8.8.8.8, смотрю, какой TTL остался.

Что должно прозвучать в ответе

  • DNS: кеши резолверов держат старую запись до истечения TTL

  • Проверка: dig к авторитативному и к популярным резолверам, текущий TTL

  • TLS: на новом сервере не тот сертификат, нет цепочки или не то имя (SNI, SAN)

  • Проверка: openssl s_client с -servername с разных адресов

  • Временная мера: старый сервер проксирует на новый до истечения TTL

  • Вывод на будущее: понижать TTL заранее, проверять сертификат до переключения

Что могут спросить следом

  • Как проверить, что видит конкретный пользователь?
  • Почему один браузер видит сайт, а мобильное приложение нет?

Разбор

Образцовый ответ: «Здесь, похоже, две проблемы. Старый сайт видят те, чьи резолверы закешировали прежний A с большим TTL: проверяю dig к авторитативному серверу и к 77.88.8.8 и 8.8.8.8, смотрю, какой TTL остался. Ускорить кеши провайдеров нельзя, поэтому старый сервер на это время превращаю в прокси на новый. Ошибка сертификата значит, что на новом сервере сертификат не на то имя или без промежуточных: проверяю openssl s_client -connect новый_ip:443 -servername домен и сразу смотрю SAN и цепочку. Если браузер открывает, а приложение нет, почти всегда это отсутствие fullchain. На будущее: понижать TTL за сутки до переезда и проверять новый сервер по IP с правильным SNI до переключения DNS».

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.