← Все статьи

SiteGuard16 мин чтения

Файл hosts: как открыть сайт на новом хостинге до изменения DNS

Файл hosts позволяет на одном компьютере сопоставить доменное имя с выбранным IP-адресом. Это удобно, когда нужно проверить сайт на новом хостинге до изменения публичного DNS: вы открываете привычный домен, а локальное сопоставление направляет поддерживающее его приложение к подготовленному серверу. Другие посетители продолжают пользоваться обычными DNS-настройками.

В Windows 10 и Windows 11 файл обычно находится в C:\Windows\System32\drivers\etc\hosts, в Linux — /etc/hosts, в macOS — /private/etc/hosts, также доступном через /etc/hosts. Ниже разберём, как сохранить исходные настройки, добавить нужную строку, убедиться, что отвечает новый сервер, и убрать временное сопоставление после проверки.

Что такое файл hosts и когда он полезен

Hosts — обычный текстовый файл с локальными соответствиями между IP-адресами и именами узлов. В отличие от редактора DNS-зоны, он не публикует записи в интернете. Практический сценарий его применения — предварительная проверка своего сайта на известном сервере; такой подход описан в инструкции Рег.ру по просмотру сайта до обновления DNS.

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

ЗадачаПодходит ли hostsЧто учитывать
Открыть свой сайт на новом сервере до смены DNSДа, для локальной проверкиНужен подтверждённый IP и настроенное обслуживание домена
Направить всех посетителей на новый хостингНетМеняют публичную конфигурацию DNS или инфраструктуры
Посмотреть несколько страниц одного доменаДаСопоставляется имя; пути страниц в файл не записывают
Изменить почтовые MX, TXT или NSНетHosts не является редактором произвольных DNS-записей
Проверить работу сайта для всех сетей и посетителейНетНужны отдельные внешние проверки после переключения

Где находится файл hosts в Windows, macOS и Linux

СистемаПутьОсобенность
Windows 10 и Windows 11%SystemRoot%\System32\drivers\etc\hostsОбычно это C:\Windows\System32\drivers\etc\hosts; у файла нет расширения
macOS/private/etc/hostsВ обычной установке также доступен как /etc/hosts
Linux/etc/hostsПорядок использования локальных и сетевых источников зависит от конфигурации разрешения имён

Путь Windows указан в документации Microsoft по Hosts File Editor, путь macOS — в инструкции Apple по редактированию hosts, формат Linux — в справке hosts(5). Обозначение %SystemRoot% полезно, если Windows установлена в нестандартный каталог.

Файлы hosts.txt, hosts.bak или копия на рабочем столе не становятся системным hosts только потому, что содержат правильную строку. Перед диагностикой сети проверьте полный путь, настоящее имя и то, что изменения сохранены именно в рабочий файл.

Что подготовить до редактирования

Получите данные в своей панели хостинга или у администратора. Hosts не исправит неверный IP или отсутствие нужного сайта на сервере. Для проверки подготовьте:

  1. Подтверждённый адрес нового сервера. Уточните, какой IP предназначен для входящих веб-запросов. Адрес панели управления, базы данных или исходящего соединения может быть другим.
  2. Список имён. Запишите корневой домен, www и нужные поддомены. Проверьте, куда ведут перенаправления.
  3. Готовый экземпляр сайта. Файлы, база, конфигурация веб-сервера и зависимости должны быть подготовлены к проверке.
  4. HTTPS для проверяемого имени. Если сайт работает по HTTPS, новый сервер должен предъявлять подходящий сертификат и корректную цепочку доверия.
  5. Копию текущего hosts. Сохраните её с понятной датой и не перезаписывайте существующий резервный файл.
  6. Критерий успеха. Заранее определите, по какому признаку отличите новую площадку от старой: журналу запроса, идентификатору сборки или согласованной тестовой странице.

В примерах далее используются домены example.com, www.example.com и shop.example.com, IPv4 192.0.2.10 и IPv6 2001:db8::10. Это учебные значения, а не адреса рабочего хостинга. Назначение доменов и диапазонов описано у IANA, в RFC 5737 и RFC 3849.

Как правильно добавить домен и IP в hosts

Базовый формат строки: сначала IP-адрес, затем одно или несколько имён, разделённых пробелами или табуляцией. Комментарий начинается с #. Формат, поддержку IPv4/IPv6 и правила комментариев определяет руководство hosts(5).

# Temporary check of the new hosting
192.0.2.10 example.com www.example.com
192.0.2.10 shop.example.com
Что вы хотите указатьПравильный подходЧастая ошибка
Имя сайтаexample.comhttps://example.com/ вместо имени
Страницу каталогаДобавить имя; затем открыть /catalog/ в браузереЗаписать путь страницы в hosts
Нестандартный портОставить в файле имя и IP; порт указать в URL приложенияДобавить :8443 к IP или имени в строке hosts
Корень и wwwПеречислить оба точных имениОжидать, что запись корня автоматически охватит www
ПоддоменыДобавить нужные имена по отдельностиИспользовать *.example.com как универсальный шаблон
Комментарий# Check new hostingПоставить # перед строкой, которую нужно включить

В обычном hosts нет wildcard-сопоставления всех поддоменов. Не используйте его как список URL или правил перенаправления. Для кириллического домена удобнее взять корректное ASCII-представление имени из своей панели регистратора: это помогает избежать различий между обработкой Unicode разными программами.

Как учитывать IPv4 и IPv6

IPv6 записывают отдельной строкой, без квадратных скобок:

192.0.2.10 example.com www.example.com
2001:db8::10 example.com www.example.com

Добавляйте IPv6 только при наличии подтверждённого рабочего адреса нового сервера. Не выдумывайте его по аналогии с IPv4 и не отключайте IPv6 во всей системе ради одного теста. Посмотрите фактический результат разрешения имени и соединения: проверка одного семейства адресов ещё не подтверждает другое.

Перед добавлением найдите другие строки для тех же имён. Два конфликтующих назначения могут дать результат, который зависит от используемого механизма разрешения. Сохраните исходные значения и временно замените или закомментируйте только конфликтующие строки, относящиеся к вашей проверке. Системные записи localhost и записи других проектов сохраняйте.

Как изменить файл hosts в Windows 10 и Windows 11

Для Windows 10 и 11 подходит один порядок действий: резервная копия, открытие системного файла с нужными правами, точечная правка и проверка нового обращения.

Шаг 1. Сохраните исходную копию

В Проводнике откройте %SystemRoot%\System32\drivers\etc. Скопируйте hosts в отдельную папку, указав дату в имени копии, и убедитесь, что содержимое читается.

Шаг 2. Откройте Блокнот от имени администратора

  1. Найдите «Блокнот» через поиск Windows.
  2. Выберите запуск от имени администратора и подтвердите запрос системы.
  3. В Блокноте нажмите «Файл» → «Открыть».
  4. Перейдите в каталог %SystemRoot%\System32\drivers\etc.
  5. Если hosts не виден, измените фильтр текстовых документов на «Все файлы».
  6. Откройте файл с именем hosts без расширения.

Необходимость повышенных прав и запуск редактора от администратора описаны в инструкции Microsoft по ошибке сохранения hosts. Само членство учётной записи в группе администраторов ещё не означает, что конкретное окно редактора запущено с нужными правами.

Шаг 3. Внесите точечное изменение и сохраните

Добавьте подготовленный блок с комментарием и реальными адресами своего проекта. Используйте обычный текстовый режим, затем сохраните существующий файл. Если редактор предлагает создать hosts.txt, отмените такое сохранение и проверьте имя, выбранный тип файла и права.

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

Пользователи PowerToys могут выбрать Hosts File Editor: в нём есть поля для IP, имён, комментария и переключатель активности записи.

Шаг 4. Проверьте новое обращение

Сохраните данные в открытых вкладках, полностью завершите браузер и запустите его снова. При подозрении на старый кэш DNS можно выполнить в административной консоли ipconfig /flushdns, затем перейти к проверке ниже. Эта команда очищает клиентский DNS-кэш, но не исправляет ошибочную строку hosts и не меняет публичный DNS; параметры приведены в справке Microsoft.

Как изменить hosts в macOS

На Mac удобен встроенный «Терминал». Откройте его через Spotlight или папку «Программы» → «Утилиты». Для записи в системный файл потребуются административные права; пароль при вводе в терминале не отображается.

Сохраните копию hosts отдельно с датой. В Finder перейти к каталогу можно через «Переход» → «Переход к папке», указав /private/etc. Существующие записи сохраняйте.

Для редактирования выполните:

sudo nano /private/etc/hosts

Добавьте свой временный блок. В nano нажмите Control + O, подтвердите существующее имя файла клавишей Return, затем выйдите через Control + X. Именно такой способ открытия и сохранения hosts приведён в официальной инструкции Apple.

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

Как изменить hosts в Linux

В Linux рабочий путь — /etc/hosts. Сохраните исходную копию, затем откройте файл в установленном текстовом редакторе с правами, позволяющими запись. Например, если nano установлен и ваша учётная запись имеет соответствующие права:

sudo nano /etc/hosts

Добавьте подготовленные строки, сохраните файл и откройте его повторно. Для nano используйте Ctrl + O, Enter и Ctrl + X; для другого редактора — его команды сохранения.

В системах с GNU libc выбор источников имён задаётся механизмом NSS, в том числе файлом /etc/nsswitch.conf. Наличие строки в hosts не заменяет проверку того, как конкретная система получает адрес. Назначение NSS и чтение его баз описано в справке getent.

Если запись не учитывается, проверьте текущую схему с администратором. Не заменяйте строку hosts: в nsswitch.conf чужим примером: рабочая сеть может использовать дополнительные источники.

Для браузера внутри виртуальной машины или приложения в контейнере проверяйте окружение, где выполняется запрос. Файл на основной машине и файл внутри гостевой системы могут отличаться. Изменение одного из них не даёт оснований считать, что все процессы используют новые данные.

Как проверить, что запись hosts действительно работает

Проверьте сначала локальное разрешение имени, затем сам сайт. Правильный IP ещё не подтверждает настройку веб-сервера, HTTPS и приложения.

Windows: системное разрешение имени в PowerShell

[System.Net.Dns]::GetHostAddresses("example.com")
[System.Net.Dns]::GetHostAddresses("www.example.com")

Замените примеры своими точными именами. Метод использует API разрешения имён операционной системы; обработка записей hosts описана в документации Microsoft GetHostAddresses. Сравните возвращённые адреса с добавленными значениями. Это проверка системного пути, а не доказательство того, что любое приложение использует тот же механизм.

Linux: проверка через getent

getent ahosts example.com
getent ahosts www.example.com

На системах с соответствующим getent эти команды обращаются к механизму NSS. Один адрес может повторяться для разных типов сокетов, поэтому несколько одинаковых строк не означают несколько серверов. Назначение базы ahosts приведено в руководстве getent(1).

macOS: быстрая проверка выбранного адреса

Для первичной проверки можно запустить ping example.com в Терминале, посмотреть адрес, выбранный для имени, и остановить команду сочетанием Control + C. Применение ping в macOS описано в инструкции Namecheap. Здесь важен адрес в начале вывода; отсутствие ICMP-ответа само по себе не доказывает, что hosts не сработал или HTTPS недоступен.

Почему nslookup и dig показывают другой IP

nslookup запрашивает DNS и не является просмотрщиком hosts. Microsoft прямо отмечает, что он обходит локальную библиотеку разрешения имён и файл hosts; см. руководство по диагностике DNS. Поэтому старый публичный IP в nslookup одновременно с новым адресом в системной проверке может быть ожидаемым результатом.

dig также предназначен для запросов DNS-серверу. Если такой сервер расположен локально и сам учитывает hosts, его ответ зависит уже от конфигурации этого сервиса. Главное правило остаётся прежним: ответ DNS-инструмента сам по себе не доказывает, что нужный браузер прочитал локальную запись.

Как проверить сайт на новом хостинге через hosts и сохранить HTTPS

Открывайте обычный адрес сайта, например https://example.com/, после локальной настройки имени. Не заменяйте домен IP-адресом в строке браузера. Один сервер может обслуживать несколько сайтов, и правильное имя необходимо для выбора проекта.

При HTTP имя участвует в выборе виртуального сайта, а при HTTPS клиент обычно передаёт его ещё на этапе TLS через SNI. Поэтому сервер должен знать этот домен и предъявлять подходящий сертификат. Выбор виртуального сервера разобран в документации nginx по именам серверов, SNI — в руководстве по HTTPS.

Hosts не выпускает сертификат и не меняет его область действия. Если новый сервер отдаёт сертификат другого домена, цепочка неполна или срок действия закончился, проверку HTTPS нельзя считать пройденной. Исправьте настройку на новой площадке; отключение проверки сертификата не покажет, как сайт откроется у обычного посетителя.

Что меняется, если сайт использует CDN

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

Получайте адрес исходного сервера из своей панели или у своей технической команды. Публичный DNS проксируемого домена может показывать адреса CDN; например, такая модель описана в документации Cloudflare о проксировании. Случайный найденный IP нельзя считать адресом подготовленной копии сайта.

Альтернатива для одного запроса: curl --resolve

Когда нужно проверить только конкретный HTTP-запрос, можно обойтись без постоянной записи в hosts. Для установленного curl и прямого подключения без настроенного прокси используется такой учебный пример:

curl --resolve example.com:443:192.0.2.10 --connect-timeout 10 --max-time 20 -I https://example.com/

В Windows PowerShell при наличии curl.exe используйте curl.exe, чтобы явно вызвать эту программу. Замените оба вхождения домена и IP своими значениями. --resolve задаёт адрес для указанной пары имени и порта только в этом запуске; -I запрашивает заголовки методом HEAD. Параметры описаны в официальной справке curl.

Проверка сертификата остаётся включённой — это стандартное поведение curl для TLS. Такой запрос не проверяет всю страницу и её сценарии. Если сайт ограничивает HEAD, оценивайте ответ с учётом метода и продолжайте проверку обычным открытием страницы, а не объявляйте хостинг неработающим по одному статусу.

Что проверить на сайте до переключения DNS

Локальное сопоставление — инструмент доступа к новой площадке. Сам результат проверки должен отвечать на вопрос, готов ли проект принимать посетителей. Составьте короткий список действий, важных именно для вашего сайта, и фиксируйте наблюдения.

  • Нужный экземпляр. Запрос виден в журнале нового сервера или подтверждён другим согласованным признаком.
  • Домены и редиректы. Работают корень, www и проверяемые поддомены; переходы не уводят незаметно на старую площадку.
  • Основные страницы. Открываются главная, каталог, карточка, контакты и нужные служебные страницы.
  • Ресурсы. Загружаются изображения, стили и сценарии; внешние имена проверяются отдельно.
  • HTTPS. Браузер не сообщает об ошибке сертификата, а обращение идёт к нужному имени.
  • Функции проекта. Проверены вход, поиск, формы и другие согласованные сценарии в подходящем тестовом режиме.
  • Окружение. Понятно, какие база данных, файлы и интеграции обслуживают новый экземпляр.

Особенно внимательно сравнивайте магазин или личный кабинет: локальный hosts меняет адрес соединения, но не изолирует данные приложения. Две площадки могут обращаться к общей базе или внешним сервисам. Перед функциональным тестом уточните, куда попадут изменения, письма и события.

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

Почему hosts не работает: причины и порядок проверки

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

СимптомВозможная причинаЧто проверить
Редактор не сохраняет измененияНет повышенных прав или действует политика устройстваЗапуск редактора, права своей учётной записи и правила администрирования
Файл сохранён, адрес прежнийПравили копию, hosts.txt или другое окружениеПолный путь, расширение и наличие строки в системном файле
Одна версия домена работает, другая нетВ hosts добавлен только корень либо только wwwТочное имя в URL и адрес после перенаправления
Строка есть, но не учитываетсяКомментарий, ошибка формата или конфликтующие записиНачальный #, пробелы, IP и все строки с этим именем
Системная проверка даёт новый IP, браузер — прежний сайтКэш, открытое соединение, отдельный DNS-путь или проксиПолное завершение браузера, его настройки подключения и журнал нового сервера
Открывается чужая или стандартная страницаНа адресе не настроено обслуживание вашего доменаПривязку домена и конфигурацию виртуального сайта на новом хостинге
Появилась ошибка сертификатаНеверный сертификат, имя или цепочкаНастройку HTTPS для точного имени на новом сервере
Главная работает, часть функций — нетРесурсы или API используют другие именаСписок обращений страницы и настройки интеграций
Временная запись исчезаетФайл перезаписывается управляющей программойСредство управления устройством, окружением или конфигурацией

Отдельно учитывайте DNS over HTTPS: браузер может использовать выбранный DNS-сервис, а поведение локальных исключений зависит от продукта и режима. Возможность выбора пути описана в справке Firefox по DoH. Не исходите ни из правила «DoH всегда игнорирует hosts», ни из обещания, что hosts безусловно управляет любым приложением: проверяйте результат в используемой конфигурации.

Прокси также может менять место, где определяется адрес назначения. Если запрос отправляется через него, локальный тест не обязательно воспроизводит прямое соединение с сервером. Уточните рабочую схему подключения и согласованный способ проверки; отключение корпоративных настроек не является обязательным шагом редактирования hosts.

Как отменить изменение hosts после проверки

Завершайте проверку удалением временного блока. Иначе при следующем переносе ваш компьютер может продолжить обращаться к прежней площадке:

  1. Откройте тот же системный файл с нужными правами.
  2. Найдите строки, которые добавили или изменили для текущей проверки.
  3. Удалите временный блок либо закомментируйте его; восстановите исходные значения там, где вы их заменяли.
  4. Сохраните файл и убедитесь, что посторонние записи остались на месте.
  5. Создайте новое обращение приложения и проверьте домен через штатный путь подключения.

Если после создания резервной копии файл изменял кто-то ещё, не восстанавливайте старую копию целиком без сравнения. Точечный откат позволяет сохранить новые записи других проектов. Для журнала работ достаточно отметить дату, проверенные имена, адрес площадки и факт удаления временного сопоставления.

Можно ли использовать hosts для блокировки сайтов или обхода ограничений

Hosts меняет локальное соответствие имени и адреса. Он не создаёт сетевой маршрут, не открывает закрытый порт, не снимает ограничения приложения и не выдаёт подходящий сертификат. Поэтому его нельзя считать универсальным способом восстановления доступа к любому сайту.

Для проверки своего проекта используйте адреса из собственной конфигурации. Списки «рабочих IP» быстро устаревают и не подтверждают, что выбранный сервер обслуживает нужный домен. На практике hosts лучше применять как временный, понятный и проверяемый инструмент тестирования.

Частые вопросы о файле hosts

Нужно ли перезагружать компьютер после изменения?

Обычно начинают с сохранения файла и нового обращения приложения. При старом результате проверяют кэш и завершают браузер полностью. Перезагрузка не исправит неправильное имя, лишнее расширение или неверный IP.

Изменится ли сайт у коллег и посетителей?

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

Почему запись для example.com не работает для www.example.com?

Это разные имена. Добавьте оба, если оба должны вести на проверяемую площадку. Точно так же отдельно учитываются магазин, API и другие поддомены.

Можно ли направить только одну страницу на другой сервер?

Hosts не различает пути внутри сайта. Он сопоставляет имя с IP, поэтому правило относится к обращениям к этому имени, которые используют соответствующий механизм разрешения. Маршрутизация отдельных URL настраивается на другом уровне.

Почему онлайн-проверка DNS не видит мою запись?

Онлайн-сервис выполняет проверку из своего окружения и не читает hosts вашего ноутбука. Это ожидаемо: публичные записи вы не изменяли. Для локальной правки нужен локальный тест.

Можно ли оставить запись навсегда?

Для специально управляемого окружения статическое соответствие может быть частью конфигурации. Для разового переноса лучше убрать его после проверки: иначе будущие изменения публичного DNS будут давать на вашем компьютере неожиданные результаты.

Как понять, что сайт готов к переносу?

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

Для владельца сайта ценность такой подготовки — возможность обнаружить ошибки до того, как они начнут мешать посетителям оформлять заказы и оставлять заявки. После переноса продолжайте наблюдать за работой проекта по его обычному доменному имени. Познакомьтесь с SiteGuard, если хотите организовать регулярный контроль сайта и оценить подходящий для своей задачи сервис.

Документация и первоисточники