Модуль 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 |
Это позволяет отобразить содержимое строки как интерпретируемую HTML, Дополнительная информация для модуля имя-модуля. Пример:
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