«Сайт не открывается» у части пользователей
Вопрос
Интервьюер: «После переезда на новый сервер часть пользователей видит старый сайт, часть получает ошибку сертификата. Что происходит и что делаете?»
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
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 ошибок.