Модуль 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