Лучший способ изменить IP-адрес сайта - с точки зрения конечного пользователя?

Я прочитал здесь кучу соответствующих вопросов и ответов, но я все еще не уверен, какой лучший ответ.

Я перемещаю пару сайтов из IP-адрес от «1.abc» до «2.def». На данный момент в существующем DNS я установил TTL равным 300 секундам, и у меня есть новая зона DNS, готовая к использованию (на AWS Route 53), с новыми серверами имен и всеми TTL равными 60 секундам. Так что я считаю, что готов с точки зрения DNS. После переезда, через несколько дней я установлю более разумное значение TTL на Route 53.

I ' я предупредил всех моих пользователей о переезде, и у меня есть определенное время для переезда. Я сказал им, что после завершения перемещения и если прошло 24 часа, а они все еще видят старые (заблокированные) сайты, им следует перезагрузить свой компьютер, чтобы принудительно очистить локальный кеш DNS.

Я не понимаю, как пользователь браузер (кеш) играет в этом роль. Мои собственные эксперименты с файлом локальных хостов (Win7) говорят мне, что в браузере есть что-то, что не пропускает старый IP-адрес - мне пришлось перейти в history-> clear all , чтобы получить новое местоположение сайта, которое будет отображаться даже после ipconfig / flushdns

(EDIT) - у меня нет корневого доступа к старому серверу, поэтому я не могу реализовать принятый ответ на этот вопрос .

Вопрос: Я правда не знаю Я не хочу, чтобы мои пользователи сталкивались с этим, поэтому могу ли я что-то сделать, чтобы заставить все браузеры повторно кэшировать? И если да, то как долго я оставлю его включенным?

Спасибо ...

10
задан 13 April 2017 в 15:14
4 ответа

Нет, не можете. Проблема в том, что DNS ответ может быть кэширован где угодно между пользователем и DNS сервером, и нет способа сделать его недействительным.

Однако, что вы можете сделать - как только данные синхронизированы и второй сайт готов, вы можете переконфигурировать исходный сервер, чтобы он вел себя как прокси и передавал все запросы на новое место.

Таким образом, вы можете достичь почти 0s простоя вашего сайта.

Обновление

Если у вас нет корневого доступа, есть несколько вариантов:

  • Выполнить проксирование в PHP

  • Настроить прокси на втором сервере (если у вас там есть корневой доступ), переключить DNS и когда вы будете готовы сменить прокси на вебсервер

  • Этот метод может стать источником проблем Имея 2 адреса (www.domain.tld и www2.domain.tld). Настройте www2 (то же самое, что и www) и установите правильные DNS-записи. Затем подготовьте www версию вашего сайта и выполните переключение DNS. Установите перенаправление всех запросов на старом сервере на поддомен www2.

15
ответ дан 2 December 2019 в 22:02

Неизбежно ваш старый адрес будет кэшироваться и использоваться в течение длительного времени -- в основном боты.

Как бы я это сделал:

  • Создать запись, например, www2.yourdomain.com, указывающую на новый IP. Эта запись никогда не должна была использоваться раньше, поэтому никогда не кэшировать.
  • Перенаправить запросы на старом сервере на www2.yourdomain.com
  • Монитор перенаправляет, а когда трафик упадет до приемлемого уровня, удалить старый сервер.
  • И наконец, как только старый сервер будет удален, перенаправьте www2.yourdomain.com на www.yourdomain.com.

Убедитесь, что используете 301 постоянный редирект. https://en.wikipedia.org/wiki/HTTP_301

1
ответ дан 2 December 2019 в 22:02

В теории, установка TTL домена на что-то низкое и ожидание этого изменения, а затем изменение IP, должно привести к почти прозрачной миграции. В конце концов, в этом весь смысл настройки TTL.

На практике люди неправильно настраивают вещи и инструменты. Поэтому вам может понадобиться дать инструкции вашим пользователям по очистке их локального кэша, если что-то работает неправильно.

Вы не делаете ничего неправильного.

4
ответ дан 2 December 2019 в 22:02

Звучит так, будто вы планируете сменить серверы имен одновременно? В связи с тем, как обнаруживаются серверы имен, их обновление занимает гораздо больше времени, чем обычная запись - часто около 24 часов или дольше.

Я бы настоятельно рекомендовал вам обновить DNS у вашего текущего провайдера до смены DNS, или изменить серверы имен за 7 дней до смены IP-адреса веб-сайта.

Современные компьютеры и браузеры довольно надежны в соблюдении TTL с DNS, но для достижения наилучших результатов вам необходимо понимать всю цепочку.

.
0
ответ дан 2 December 2019 в 22:02

Теги

Похожие вопросы