Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_info

Описание: Предоставляет исчерпывающую информацию о конфигурации сервера
Статус: Расширение
Идентификатор модуля: info_module
Исходный файл: mod_info.c

Краткое описание

Чтобы настроить mod_info, добавьте следующий текст в файл httpd.conf.

<Location "/server-info">
    SetHandler server-info
</Location>

Возможно, вы захотите использовать mod_authz_host внутри директивы <Location>, чтобы ограничить доступ к сведениям о конфигурации сервера:

<Location "/server-info">
    SetHandler server-info
    Require host example.com
</Location>

После настройки сведения о сервере можно получить, перейдя по адресу http://your.host.example.com/server-info

Вопросы безопасности

После загрузки mod_info на сервер его обработчик становится доступен во всех файлах конфигурации, включая файлы для отдельных каталогов (например, .htaccess). Это может повлечь последствия для безопасности вашего сайта.

В частности, этот модуль может раскрыть конфиденциальные сведения из директив конфигурации других модулей Apache, например системные пути, имена пользователей и пароли, имена баз данных и т. д. Поэтому этот модуль следует использовать только в контролируемой среде и всегда с осторожностью.

Вероятно, вы захотите использовать mod_authz_host, чтобы ограничить доступ к сведениям о конфигурации сервера.

Контроль доступа

<Location "/server-info">
    SetHandler server-info
    # Allow access from server itself
    Require ip 127.0.0.1

    # Additionally, allow access from local workstation
    Require ip 192.168.1.17
</Location>

Выбор отображаемых сведений

По умолчанию сведения о сервере включают список всех включённых модулей, а для каждого модуля — описание поддерживаемых им директив, реализуемых им хуков и соответствующих директив из текущей конфигурации.

Другие представления сведений о конфигурации доступны, если добавить параметр запроса к запросу server-info. Например, http://your.host.example.com/server-info?config покажет все директивы конфигурации.

?<module-name>
Только сведения, относящиеся к указанному модулю
?config
Только директивы конфигурации, без сортировки по модулям
?hooks
Только список хуков, к которым подключён каждый модуль
?list
Только простой список включённых модулей
?server
Только основные сведения о сервере
?providers
Список провайдеров, доступных на сервере

Вывод конфигурации при запуске

Если задано определение конфигурации -DDUMP_CONFIG, mod_info выведет предварительно разобранную конфигурацию в stdout во время запуска сервера.

httpd -DDUMP_CONFIG -k start

Предварительно разобранная означает, что такие директивы, как <IfDefine> и <IfModule>, обрабатываются, а переменные среды заменяются. Однако это не отражает конечное состояние конфигурации. В частности, здесь не учитывается объединение или переопределение, которое может происходить при повторении директив.

Это примерно соответствует запросу ?config.

Известные ограничения

mod_info предоставляет сведения, считывая разобранную конфигурацию, а не исходный файл конфигурации. В результате способа создания дерева разобранной конфигурации возникают некоторые ограничения:

  • Директивы, которые выполняются немедленно, а не сохраняются в разобранной конфигурации, не отображаются. К ним относятся ServerRoot, LoadModule и LoadFile.
  • Директивы, управляющие самим файлом конфигурации, например Include, <IfModule> и <IfDefine>, не отображаются, но включённые директивы конфигурации отображаются.
  • Комментарии не отображаются. (Это можно считать преимуществом.)
  • Директивы конфигурации из файлов .htaccess не отображаются, поскольку они не являются частью постоянной конфигурации сервера.
  • Контейнерные директивы, такие как <Directory>, отображаются обычным образом, но mod_info не может определить номер строки закрывающего </Directory>.
  • Директивы, создаваемые сторонними модулями, такими как mod_perl, могут не отображаться.

Директива AddModuleInfo

Описание: Добавляет дополнительные сведения к информации о модуле, отображаемой обработчиком server-info
Синтаксис:
AddModuleInfo module-name string
Контекст: конфигурация сервера, виртуальный хост
Статус: Расширение
Модуль: mod_info

Эта директива позволяет отображать содержимое string как HTML-код в разделе Дополнительные сведения для модуля module-name. Пример:

AddModuleInfo mod_deflate.c 'See <a \
    href="http://httpd.apache.org/docs/2.4/mod/mod_deflate.html">\
    http://httpd.apache.org/docs/2.4/mod/mod_deflate.html</a>'

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_info.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API