Я разбираюсь в основах Apache, PHP и виртуального хостинга, но у меня есть вопрос о виртуальном хостинге. Насколько мне известно, файлы HOSTS могут только находиться в одном из следующих мест:
C: / Windows / system32 / drivers / etc (я считаю, зависит от старых установок)
Я не думаю, что его можно разместить в другом месте для использования с Apache, просто для виртуальных хостов и основного файла HOSTS для блокировки сайтов и т. Д.
Я слышал о файлах PAC на сайте Uniform Server (http://wiki.uniformserver.com/index.php/Virtual_Hosting:_PAC), но они зависят от браузера, не так ли?
Как лучше всего работать с виртуальными хостами, кроме файла HOSTS?
Мой сервер в настоящее время еще не открыт для Интернета, но если это так, как лучше всего разрешить DNS для моих доменов виртуального хоста, если он станет прямым (то есть открыт для Интернета)?
Здесь какая-то перепутанная терминология. «Хосты» в файле hosts относятся к статически определенным определениям адресов типа «имя-номер». Так, например, вы увидите там строку, которая определяет localhost
так как 127.0.0.1
(и, возможно, ::1
, в зависимости от версии Windows).
VirtualHosts в apache, с другой стороны, относится к методу конфигурации в Apache, где вы обслуживаете разные веб-страницы в зависимости от свойств входящего запроса; в частности, порт, через который происходит соединение, и Host
заголовок, прикрепленный к запросу.
Таким образом, конфигурация Apache может, например, обслуживать отдельный набор страниц для нескольких разных доменов; например, обслуживание другой группы страниц, когда www.domain.com
запрашивается по сравнению с тем, когда info.domain.com
запрашивается. Документация Apache хороший обзор VirtuaHosts.
Надеюсь, это поможет прояснить ситуацию.
Виртуальные хосты в Apache представляют собой отдельную концепцию от файла etc / hosts. Файл etc / hosts - это всего лишь метод локального разрешения DNS. Virtualhosts - это вариант конфигурации, при котором Apache будет отображать разные страницы в зависимости от запрашиваемого URL-адреса. Это требует некоторой магии DNS, поскольку конечный пользователь должен иметь возможность разрешать имена хостов. Еще два варианта - несколько IP-адресов или портов.
В DNS вы просто добавляете запись для другого домена, указывающую на тот же IP-адрес. Например, www.site1.com и www.site2.com будут указывать на 172.32.4.6.
Дополнительная информация о том, как работает VirtualHosts, доступна здесь: http://httpd.apache.org/docs/current/vhosts/