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

Виртуальные хосты Apache переопределяют httpd.conf

Я не понимаю, как работают vhosts в Apache 2.4. Я включил виртуальные хосты, и на моем сервере настроены два веб-сайта. Я думаю, это означает, что хост по умолчанию (/ var / www / html) больше не работает. Но какие части httpd.conf замещаются виртуальными хостами? Применяются ли такие включения, как «conf.d» в httpd.conf, к виртуальным хостам, или мне нужно назначать их вручную? У меня есть в httpd.conf строка, которая назначает специальный заголовок RemoteIPHeader, нужно ли мне включать эту строку в каждый из моих файлов .conf виртуального хоста? Пожалуйста, помогите мне понять, как работает httpd.conf при включенных виртуальных хостах. Спасибо!

Каждая директива перечисляет контекст в котором это действительно. Другими словами, где его можно использовать.

В контекст может быть любое сочетание:

s - конфигурация сервера Это означает, что директива может использоваться в файлах конфигурации сервера (например, httpd.conf), но не в <VirtualHost> или <Directory> контейнеры. Это не разрешено в .htaccess файлы вообще.
v - виртуальный хост Этот контекст означает, что директива может находиться внутри <VirtualHost> контейнеры в файлах конфигурации сервера.
d - каталог Директива, отмеченная как действительная в этом контексте, может использоваться внутри <Directory>, <Location>, <Files>, <If>, и <Proxy> контейнеры в файлах конфигурации сервера с учетом ограничений, указанных в разделах конфигурации.
h - .htaccess Если директива действительна в этом контексте, это означает, что она может появляться внутри каждого каталога .htaccess файлы. Это может не быть обработано, хотя в зависимости от текущих активных переопределений.

Если директива используется несколько раз, контекст, область действия и порядок, в котором встречаются директивы, определяют какая директива будет иметь приоритет.

Что касается VirtualHost записи используемые там директивы переопределят настройки по умолчанию, но будут применяться только для этой записи виртуального хоста.

С виртуальным хостингом на основе имени первый <VirtualHost addr:port> становится значением по умолчанию, которое будет обслуживать все запросы, которые не соответствуют никаким явно определенным именам ServerName / ServerAlias, используемым в других записях VirtualHost.