Настройки DNS для быстрого переноса работающего сайта

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

  • если старый адрес сервера сайта не сохранился в кэше ПК(или сетевого оборудования пользователя/интернет-провайдера)  - сайт откроется с нового сервера,
  • если старый адрес сервера сайта сохранился в кэше ПК(или сетевого оборудования пользователя/интернет-провайдера)  - сайт откроется со старого сервера.

Старый адрес сервера сайта обычно хранится до 24 часов (в некоторых случаях больше).


Для корректного переноса сайта воспользуемся следующим алгоритмом:

  • переносим сайт на новый сервер (здесь полезная статья по переносу сайтов среднего размера);
  • на новом сервере создаем дублирующий адрес (например, основной "site.ru", создаем алиас, которыей не был настроен на NS сервере - "main.site.ru");
  • в DNS записях домена добавляем алиас сайта на новом сервере, на нашем примере: 
    • тип записи "A",
    • запись ".main.site.ru.",
    • значение "194.226.215.67" (указываем адрес нового сервера);
  • на новом сервере настраиваем алиас к основному домену (добавляем псевдоним "main.site.ru" к "site.ru");
  • на первые 5 суток после переноса, сохраним работоспособность сайта на старом сервере, вносим изменения:
    для перенесенных доменов прописываем переадресацию (редирект)  с сайта на алиас сайта на новом сайте (в нашем примере - на "main.site.ru");
    поскольку адрес сервера для "main.site.ru" мы внесли новый (а не изменили) - не нужно ждать обновления записей DNS, поэтому новый сайт по адресу алиаса будет открываться корректно на новом сервере.

Как итог:

  • если старый адрес сервера сайта не сохранился в кэше ПК(или сетевого оборудования пользователя/интернет-провайдера)  - сайт откроется с нового сервера как и необходимо,
  • если старый адрес сервера сайта сохранился в кэше ПК(или сетевого оборудования пользователя/интернет-провайдера)  - сайт откроется со старого сервера, включится переадресация, сайт откроется на новом сервере по адресу алиаса.
    Переадресация будет работать, пока записи NS сайта не обноваться, после этого сайт будет открываться по необходимому адресу с нового сервера.
Переадресация "перемещен временно" ("302 Redirect") должена корректно восприниматься поисковыми системы, безопасна при правильном использовании, пригодна для случаев проведения технических работ на сайте, то есть для нашего описанного случая.

Общее замечание:

  • описанный алгоритм применим для систем управления содержимым, для которых домен (URI) может быть динамичными, например для CMS Drupal.


Примеры реализации переадресации "перемещен временно" ("302 Redirect")

Пример записи в .htaccess с ипользованием mod_rewrite

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://main.site.ru/$1 [R=302,L]

RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule ^(.*)$ http://main.site.ru/$1 [R=302,L]

Пример записи в .htaccess без ипользования mod_rewrite

redirect 302 / http://main.site.ru/

Пример записи в HTML коде страницы в блоке <head> </head>

<head>
<meta http-equiv="refresh" content="0; url=http://main.site.ru/">
</head>

Примечание: в указанном способе переадресация будет происходить только со страниц в которых присутствует данный код. 

Комментарии пользователей ВКонтакте

Комментарии пользователей Facebook

Поделиться ссылкой