Нужно ли в /etc/hosts содержать все домены, размещенные на сервере?
Я собираюсь настроить новый сервер Ubuntu 10.04, который будет действовать как веб-сервер. На сервере будет размещено несколько доменов, в том числе несколько поддоменов. Должен ли каталог /etc/hosts содержать все домены и субдомены или достаточно просто включить стандартную строку localhost и строку публичного IP-адреса, как показано ниже?
127.0.0.1 localhost web00.example.com
173.203.99.130 web00.example.com web00
Я предполагаю, что следствием отсутствия в каталоге /etc/hosts доменов, на которых размещается веб-сервер, является то, что DNS-запросы не могут быть выполнены внутри, но должны быть переданы на внешний DNS-сервер?
4 ответа
У меня много серверов, на которых размещены несколько веб-сайтов, и я никогда не настраивал /etc/hosts для включения доменов, на которых размещаются. Если ваши сайты ссылаются на себя совсем немного, хотя их производительность может быть достигнута за счет отказа от поиска DNS. Это никогда не было проблемой для меня, и это вызывающе не НУЖДАЕТСЯ, но не может быть плохой идеей.
Вы также можете обойти любые потенциальные проблемы брандмауэра с трафиком 127.0.0.1, подключающимся к общедоступному интерфейсу, если вы настроите /etc/hosts для указания доменов на 127.0.0.1, но, конечно, виртуальные хосты должны быть настроены для прослушивания 127.0. 0.1, а для того, чтобы работать.
Он должен быть в /etc/hosts, если вы не хотите, чтобы он был передан на внешний DNS-сервер.
Нужно ли в /etc/hosts содержать все домены, размещенные на сервере?
Нет. Вы хотите сделать это только при тестировании вашего веб-сервера на себе.
Я знаю, что другие ответили, и ответ был принят. Тем не менее, поскольку ОП звучит по-новому, здесь следует упомянуть некоторые подводные камни.
/etc/hosts - это только один источник информации о преобразователе. DNS-служба, подключенная к сети, - это другое. Есть больше возможностей, и то, как происходит разрешение, определяется настройкой nsswitch. Таким образом, вы должны сбалансировать необходимость разрешения с затратами на техническое обслуживание. (Например, нужно ли вашему веб-серверу разрешать имя хоста, чтобы выяснить, какой IP-адрес связать при запуске? Если это так, и DNS не работает, ваш веб-запуск завершается неудачно. Возможно, вы настроили свою веб-конфигурацию так, чтобы не полагаться на DNS. другие сервисы, которым нужно разрешать имена. и так далее. Добро пожаловать в системное администрирование.)
Помещение большого количества записей в /etc/hosts утомительно, но стабильно (потому что оно не зависит от работы DNS). Поэтому некоторые администраторы помещают все необходимое для системы в /etc/hosts. Некоторые администраторы используют огромные файлы /etc/hosts и управляют ими с помощью Puppet/et al и вообще не полагаются на DNS. И вот тут появляются такие вещи, как старые "желтые страницы" (yp) файлов Sun, центральный файл, предоставленный через YP, который содержит информацию о вашем преобразователе.