Назад | Перейти на главную страницу

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

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

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

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

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

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

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

Спасибо...

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

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

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

Обновить

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

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

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

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

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

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

Но вы не делаете ничего плохого.

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

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

  • Создайте запись A, например 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, но вам необходимо понимать всю цепочку для достижения наилучших результатов.