Я устанавливал веб-приложение Tomcat, которое отказывалось работать, пока я не наткнулся на чужую проблему с другим продуктом. Решением было добавить имя машины в / etc / hosts, чтобы оно соответствовало имени, возвращаемому hostname. Требуется ли это для правильной работы обычных сетей Linux?
Мое веб-приложение работает на виртуальной машине, поэтому я могу протестировать веб-приложение, и я обычно не беспокоюсь о файле / etc / hosts на виртуальных машинах. Я просто потряс кулаком и проклял Tomcat и поведение webapp. Я читаю / etc / hosts, / etc / sysconfig / network и имя хоста?, но это не говорит о том, требуется это или нет.
Я считаю, что это необходимо, но в некоторых случаях это может сойти с рук, если он не указан должным образом, но в других случаях вы обнаружите проблемы, когда что-то не сработает. Я смутно помню проблемы с Apache, и я вижу, что у Tomcat тоже есть проблемы.
Если демон пытается сослаться или разрешить локальное имя хоста, а оно не указано, он завершится ошибкой. Например, имя хоста является неотъемлемой частью SMTP.
Если DNS не преобразует имя хоста системы в IP-адрес, что-то может сломаться, в зависимости от того, как они настроены - если вы вручную не добавите запись в /etc/hosts
. Кажется, это один из таких случаев. Обратное также может применяться в некоторые ситуации тоже.
Обычно считается хорошей практикой добавлять такую запись в /etc/hosts
- на самом деле, большинство операционных систем Unix, как правило, делают это за вас как часть своей начальной конфигурации (или, если вы используете DHCP, когда они получают аренду).