Запуск 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-сервером, а не статическим файлом.