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

/ etc / hosts запись для одного IP-сервера, обслуживающего несколько доменов

Запуск Ubuntu 10.04

Мой сервер обслуживает 3 разных домена, используя именованные виртуальные хосты в Apache2. В настоящее время я использую разные именованные виртуальные серверы для 301 перенаправления www на эквивалент без www. Он работает, но я не понимаю правильные записи в моем файле / etc / hosts и думаю, что это вызывает у меня проблемы при настройке Varnish.

Я так понимаю, мне нужна линия localhost

127.0.0.1       localhost localhost.localdomain

Следует ли мне также указать здесь каждый домен? как в

127.0.0.1       localhost localhost.localdomain example1.com example2.com example3.com

А как насчет записи для IP сервера? Нужна ли мне следующая строка?

< IP.Of.Server >      example1.com example2.com example3.com

Кроме того, должен ли я указывать www.example.com И example.com в каждой строке, чтобы они входили в Apache и он мог обрабатывать 301 redir?

Я предполагаю, что это для тестирования, иначе вы бы настроили правильные записи DNS, а не свои hosts файл.

Вы хотите, чтобы каждое имя, с которым вы хотите вызывать свой веб-сервер, разрешалось в IP-адрес вашего сервера.

Если вы тестируете с самого сервера, вы можете сделать так, чтобы все указывало на 127.0.0.1, но, конечно, также подойдет и указание фактического IP-адреса вашего сервера.

Если вы тестируете с другой машины, то, конечно, вы хотите, чтобы каждое имя разрешалось в реальный IP-адрес сервера.

Синтаксис прост:

IP.of.server        www.domain.name domain.name
IP.of.server        www.otherdomain.name otherdomain.name
IP.of.server        www.anotherdomain.name anotherdomain.name
IP.of.server        www.yetanotherdomain.name yetanotherdomain.name

...и так далее.


Обновить:

Конечно, то, что говорит ErikA, совершенно верно. Изменение hosts файл не необходимо для работы сервера; это полезно только в том случае, если / когда вам нужно протестировать его без наличия надлежащих записей DNS, или если вы хотите переопределить их для подключения, например. на тестовый сервер вместо производственного.

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

Изменение файла hosts не необходимо для использования виртуальных серверов имен.

Запись IP должна соответствовать тому, что прослушивает Apache. Итак, если у вас есть <VirtualHost 1.2.3.4:80>, ваша запись hosts должна начинаться с 1.2.3.4.

Если вы слушаете все свои интерфейсы, то вам повезло! Вы можете выбрать один! И 127.0.0.1 будет работать нормально.

Что касается правой части, она должна соответствовать тому, что вы вводите в адресной строке. Итак, если вы хотите иметь возможность печатать www.example.com в адресной строке и что-то произойдет, тогда вам понадобится это имя в вашем файле hosts, сообщающее вашему компьютеру, какой IP-адрес это означает. Apache может обрабатывать перенаправление только в том случае, если трафик попадает туда с самого начала; отсюда и запись в файле hosts.

И я уверен, что мне не нужно говорить, что это подходит только для разработки. Сопоставление IP-адресов хоста должно выполняться DNS-сервером, а не статическим файлом.