Я прочитал несколько важных вопросов здесь, но я все еще не уверен, что лучший ответ.
Я перемещаю пару сайтов с IP-адреса "1.abc" на "2.def". На данный момент в существующем DNS я установил все TTL на 300 секунд, и у меня есть новая зона DNS, готовая к использованию (на AWS Route 53), с новыми серверами имен и всеми TTL на 60 секунд. Поэтому я считаю, что я готов с точки зрения DNS. После переезда через несколько дней я установлю TTL на более разумные номера на маршруте 53.
Я предупредил всех своих пользователей о переезде, и у меня есть определенное время для переезда. Я сказал им, что после того, как переезд завершен, и если прошло 24 часа и они все еще видят старые (заблокированные) сайты, они должны перезагрузить свой компьютер, чтобы принудительно очистить локальный кэш DNS.
Я не понимаю, как браузер пользователя (кэш) играет роль в этом. Мои собственные эксперименты с локальным файлом hosts (Win7) говорят мне, что в браузере есть что-то, что не позволяет старому IP-адресу идти - мне пришлось перейти в историю -> очистить все, чтобы показать новое местоположение сайта даже послеipconfig /flushdns
(РЕДАКТИРОВАТЬ) - У меня нет корневого доступа к старому серверу, поэтому я не могу реализовать принятый ответ на этот вопрос .
Вопрос: я действительно не хочу, чтобы моим пользователям приходилось сталкиваться с этим, поэтому я могу что-то сделать, чтобы заставить все браузеры повторно кэшировать? И если да, то как долго оставить его включенным?
Спасибо...
My own experiments with a local hosts file (Win7) tell me there is something about the browser that is not letting the old IP address go
Можете ли вы предоставить некоторую информацию об этом? Afaik, браузеры не кэшируют записи DNS более 1 минуты.Ответы:
Нет, ты не можешь. Проблема в том, что ответ DNS может быть кэширован в любом месте между пользователем и сервером DNS, и нет никакого способа сделать их недействительными.
Однако вы можете сделать это - как только вы синхронизируете данные и ваш второй сайт готов, вы можете перенастроить исходный сервер для работы в качестве прокси-сервера и передавать все запросы в новое местоположение.
Таким образом, вы можете достичь почти 0с времени простоя вашего сайта.
Обновить
Если у вас нет root-доступа, есть несколько вариантов:
Выполнить проксирование в PHP
Настройте прокси на втором сервере (если у вас есть root-доступ), переключите DNS и, когда вы будете готовы, измените прокси на веб-сервер
Этот метод может быть источником проблем. Имеют 2 адреса (www.domain.tld и www2.domain.tld). Настройте www2 (который совпадает с www) и установите правильные записи DNS. Затем подготовьте www версию своего сайта и сделайте переключение DNS. Установите перенаправление всех запросов на старом сервере на поддомен www2.
источник
Теоретически, установка TTL домена на низком уровне и ожидание этого изменения, а затем изменение IP должны привести к почти прозрачной миграции. В конце концов, в этом и заключается смысл настройки TTL.
На практике люди неправильно настраивают вещи, а инструменты ломаются. Вот почему вам может потребоваться предоставить инструкции своим пользователям, чтобы очистить их локальный кеш, если что-то не работает.
Вы не делаете ничего плохого, хотя.
источник
Ваш старый адрес неизбежно будет кэшироваться и использоваться в течение длительного времени - в основном, ботами.
Как бы я это сделал:
www2.yourdomain.com
, указывая на новый IP. Эта запись никогда не должна была использоваться раньше; поэтому никогда не кешируется.www2.yourdomain.com
www2.yourdomain.com
наwww.yourdomain.com
.Обязательно используйте 301 Постоянные перенаправления. https://en.wikipedia.org/wiki/HTTP_301
источник
Похоже, вы планируете изменить свои серверы имен одновременно? Из-за способа обнаружения серверов имен их обновление занимает намного больше времени, чем обычной записи - часто это составляет около 24 часов или дольше.
Я настоятельно рекомендую вам обновить DNS у вашего текущего провайдера, прежде чем менять DNS, или поменять свои серверы имен за 7 дней до того, как вы измените IP сайта.
Современные компьютеры и браузеры достаточно надежны в соблюдении TTL с DNS, но вам нужно понять всю цепочку для достижения наилучших результатов.
источник