Поставляемые модули#
Apache HTTP Server - модульный сервер, который изначально включает основную функциональность, обеспечиваемую модулем core. По умолчанию после установки веб-сервера помимо core активированы и другие модули, расширяющие функциональность сервера. Дополнительные функции доступны также через загрузку неактивных модулей, входящих в поставку.
Модули, поставляемые совместно с веб-сервером Apache HTTP Server, приведены в таблице ниже. В столбце «Модуль» первым приведено логическое название, отражающее его функциональность и используемое при администрировании сервера. Вторым (в скобках) - внутреннее имя (идентификатор), с помощью которого модуль регистрируется в системе, и используемое в директиве LoadModule.
Модуль |
Описание |
|---|---|
|
Содержит базовые функции и настройки, является основным модулем, обязательным для работы сервера |
|
Предоставляет совместимость с устаревшими директивами управления доступом (например, |
|
Позволяет выполнять CGI-скрипты на основе типа файла или метода запроса |
|
Обеспечивает возможность создания псевдонимов (алиасов) для путей файловой системы |
|
Управляет разрешенными HTTP-методами (например, GET, POST, PUT) |
|
Позволяет отправлять файлы «как есть», без добавления HTTP-заголовков сервером |
|
Обеспечивает базовую аутентификацию по логину и паролю с использованием HTTP Basic Auth |
|
Обеспечивает более безопасную аутентификацию с использованием HTTP Digest Auth |
|
Предоставляет поддержку аутентификации на основе протокола Kerberos через механизм GSS-API (Generic Security Services Application Program Interface) |
|
Обеспечивает поддержку аутентификации через протокол SAML (Security Assertion Markup Language) |
|
Предоставляет поддержку аутентификации через протокол OpenID Connect (OIDC) |
|
Обеспечивает анонимную аутентификацию, позволяя использовать фиктивные имена пользователей |
|
Предоставляет базовые функции для аутентификации, необходимые для работы других модулей аутентификации |
|
Обеспечивает аутентификацию через базу данных SQL (использует |
|
Обеспечивает аутентификацию через DBM-файлы (базы данных в виде файлов) |
|
Обеспечивает аутентификацию через текстовые файлы (например, |
|
Обеспечивает кеширование результатов аутентификации для повышения производительности |
|
Обеспечивает аутентификацию и авторизацию через внешние FastCGI-приложения |
|
Предоставляет базовые функции для авторизации, необходимые для работы других модулей авторизации |
|
Обеспечивает авторизацию через базу данных SQL (использует |
|
Обеспечивает авторизацию через DBM-файлы |
|
Обеспечивает авторизацию на основе групп, указанных в файле |
|
Обеспечивает авторизацию на основе IP-адреса или имени хоста |
|
Обеспечивает авторизацию на основе владельца файла |
|
Обеспечивает авторизацию на основе имени пользователя |
|
Автоматически генерирует список файлов в каталоге, если индексный файл отсутствует |
|
Добавляет поддержку сжатия контента с использованием алгоритма Brotli |
|
Буферизирует ответы сервера для оптимизации передачи данных |
|
Реализует кеширование на диске для модуля |
|
Обеспечивает кеширование с использованием общего кеша (shared object cache) |
|
Обеспечивает кеширование HTTP-запросов для повышения производительности |
|
Обеспечивает поддержку CGI-скриптов для выполнения динамических приложений |
|
Обеспечивает поддержку CGI-скриптов в многопоточной среде |
|
Преобразует кодировку символов в ответах сервера |
|
Позволяет встраивать данные в ответы сервера, например, текущее время или случайные значения |
|
Реализует хранилище файлов для WebDAV на основе файловой системы |
|
Обеспечивает поддержку блокировок ресурсов для WebDAV |
|
Обеспечивает поддержку расширения WebDAV для управления файлами через HTTP |
|
Управляет подключениями к базам данных и предоставляет их другим модулям (например, |
|
Сжимает ответы сервера перед отправкой клиенту, используя |
|
Эмулирует медленное соединение для тестирования производительности |
|
Обрабатывает запросы к каталогам и ищет индексные файлы (например, |
|
Записывает все входящие и исходящие данные сервера для целей отладки |
|
Возвращает клиенту переданные данные, является простым модулем для тестирования |
|
Управляет переменными окружения, которые могут быть переданы CGI-скриптам или SSI |
|
Управляет заголовками |
|
Позволяет использовать внешние программы для фильтрации содержимого |
|
Динамически настраивает фильтры для обработки контента согласно необходимым условиям |
|
Позволяет добавлять, изменять или удалять HTTP-заголовки в запросах и ответах |
|
Отправляет сигналы состояния сервера для мониторинга |
|
Собирает сигналы состояния сервера от других экземпляров веб-сервера |
|
Обеспечивает базовую поддержку HTTP-протокола |
|
Обеспечивает поддержку Server Side Includes (SSI) для вставки динамического содержимого в HTML-страницы |
|
Предоставляет подробную информацию о конфигурации сервера и загруженных модулях |
|
Реализует метод балансировки нагрузки, основанный на текущей загруженности серверов |
|
Реализует метод балансировки нагрузки, основанный на количестве запросов |
|
Реализует метод балансировки нагрузки, основанный на объеме трафика |
|
Реализует метод балансировки нагрузки, основанный на данных о состоянии серверов |
|
Позволяет настраивать формат и содержимое логов веб-сервера |
|
Добавляет возможность детального логирования для отладки |
|
Логирует запросы до и после обработки для анализа инцидентов |
|
Позволяет вести логирование входящего и исходящего трафика для каждого запроса |
|
Передает информацию о пользователях (именах или группах) в бэкенд-приложения через заголовки HTTP при аутентификации на уровне веб-сервера |
|
Позволяет использовать скрипты Lua для обработки запросов |
|
Обеспечивает поддержку макросов в конфигурации сервера для упрощения управления сложными настройками |
|
Определяет тип MIME-контента файла на основе его содержимого («магических» чисел) |
|
Сопоставляет файлы с соответствующими типами MIME, кодировками и языками на основе расширений |
|
Реализует многопоточную модель обработки запросов с поддержкой асинхронных соединений |
|
Реализует модель многопроцессной обработки запросов без потоков |
|
Реализует многопоточную модель обработки запросов для повышения производительности |
|
Реализует механизм согласования контента (content negotiation) для выбора подходящего ресурса на основе предпочтений клиента |
|
Обеспечивает прокси-поддержку для протокола AJP (Apache JServ Protocol) |
|
Обеспечивает балансировку нагрузки между несколькими серверами через прокси |
|
Позволяет использовать веб-сервер в качестве прокси для подключения к внешним серверам через протокол CONNECT (например, для HTTPS) |
|
Обеспечивает динамическую конфигурацию балансировки нагрузки на основе запросов |
|
Обеспечивает поддержку FastCGI для проксирования запросов к приложениям |
|
Позволяет передавать файловые дескрипторы между процессами через прокси |
|
Обеспечивает прокси-поддержку для FTP-серверов |
|
Реализует проверку работоспособности серверов в пуле балансировки нагрузки |
|
Обеспечивает прокси-поддержку для HTTP и HTTPS запросов |
|
Обеспечивает поддержку SCGI (Simple Common Gateway Interface) для проксирования запросов |
|
Обеспечивает поддержку протокола uWSGI для проксирования запросов |
|
Обеспечивает туннелирование WebSocket-соединений через прокси |
|
Обеспечивает прокси-функциональность для перенаправления запросов на другие серверы |
|
Ограничивает скорость передачи данных клиентам |
|
Отражает тело запроса обратно клиенту для тестирования |
|
Заменяет IP-адрес клиента в запросах на адрес из заголовков (например, при работе через прокси) |
|
Управляет таймаутами для чтения запросов от клиентов, защищая сервер от «медленных» атак |
|
Предоставляет функциональность для фильтрации и обработки входящих запросов |
|
Позволяет выполнять перезапись URL на основе гибких правил, используя регулярные выражения |
|
Выполняет текстовые преобразования в ответах сервера с использованием |
|
Устанавливает переменные окружения на основе условий, таких как заголовки запросов или свойства клиента |
|
Обеспечивает простое управление разделяемой памятью для хранения данных в ней |
|
Обеспечивает управление разделяемой памятью с использованием POSIX Shared Memory |
|
Позволяет загружать динамические модули (shared objects) во время выполнения сервера |
|
Хранит данные кеша сессий в формате DBM для быстрого доступа |
|
Использует систему кеширования Memcached для хранения данных кеша сессий |
|
Хранит данные кеша сессий в системе управления базами данных в памяти Redis для высокопроизводительного доступа |
|
Хранит данные кеша сессий в разделяемой памяти с использованием циклического буфера |
|
Корректирует ошибки в URL на основе «близости» написания между введенным URL и существующими на сервере |
|
Предоставляет веб-интерфейс для мониторинга состояния сервера, включая статистику производительности |
|
Позволяет заменять текст в ответах сервера на основе заданных шаблонов |
|
Обеспечивает выполнение CGI-скриптов от имени других пользователей для повышения безопасности |
|
Интегрирует веб-сервер с |
|
Генерирует уникальный идентификатор для каждого запроса, полезен для отладки и логирования |
|
Обеспечивает базовые функции безопасности для работы веб-сервера под Unix-подобными системами |
|
Позволяет пользователям создавать персональные каталоги (например, |
|
Отслеживает пользователей с помощью cookie (например, для анализа поведения посетителей) |
|
Позволяет использовать условные директивы конфигурации на основе версии веб-сервера |
|
Реализует динамическое определение виртуальных хостов на основе шаблонов |
|
Предоставляет механизм для периодического выполнения задач внутри веб-сервера |
|
Обеспечивает интеграцию между веб-сервером и Python-приложениями, написанными с использованием WSGI (Web Server Gateway Interface) |
Подробное описание основных модулей и модулей, реализующих функции безопасности, приведено в следующих разделах.