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

Должен ли '/ 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-серверу?

У меня много серверов, на которых размещено несколько веб-сайтов, и я никогда не настраивал / etc / hosts для включения размещаемых доменов. Если ваши веб-сайты довольно часто ссылаются на себя, их производительность может быть увеличена за счет отказа от поиска DNS. Это никогда не было проблемой для меня, и это явно НЕ НУЖНО, но, возможно, неплохая идея.

Вы также можете обойти любые потенциальные проблемы брандмауэра с трафиком 127.0.0.1, подключающимся к общедоступному интерфейсу, если вы настроите / etc / hosts так, чтобы домены указывали на 127.0.0.1, но, конечно, виртуальные хосты должны быть настроены для прослушивания 127.0.0.1. 0.1, чтобы это работало.

Это должно быть в / etc / hosts если вы не хотите, чтобы он был передан внешнему DNS-серверу.

Должен ли '/ etc / hosts' содержать все домены, размещенные на сервере?

Нет. Это нужно делать только тогда, когда вы тестируете свой веб-сервер на самом себе.

Я знаю, что другие ответили, и ответ был принят. Однако, поскольку OP звучит ново, следует упомянуть о некоторых подводных камнях.

/ etc / hosts - это лишь один из источников информации о преобразователе. Другой - сетевой DNS-сервис. Есть больше возможностей, и то, как происходит разрешение, определяется вашей настройкой nsswitch. Таким образом, вы должны найти баланс между необходимостью разрешения проблем и стоимостью обслуживания. (например, требуется ли вашему веб-серверу разрешать имя хоста, чтобы выяснить, какой IP-адрес привязать при запуске? Если да, и DNS не работает, запуск вашего веб-сайта завершится ошибкой. Возможно, вы настроили свою веб-конфигурацию, чтобы не полагаться на DNS. А как насчет другие службы, которым необходимо разрешать имена и так далее. Добро пожаловать в системное администрирование.)

Ввод большого количества записей в / etc / hosts утомительно, но стабильно (поскольку не зависит от работы DNS). Поэтому некоторые администраторы помещают все необходимое для системы в файл / etc / hosts. Некоторые администраторы используют огромные файлы / etc / hosts и управляют ими с помощью Puppet / et al и вообще не полагаются на DNS. И вот тут-то и появляются такие вещи, как старые файлы «желтых страниц» (yp) Sun, у которых есть общий файл через YP, в котором содержится информация о вашем преобразователе.