Вышла стабильная версия сервера Apache 2.4.1. Последняя стабильная версия Apache 2.2 была выпущена в 2005 году.
Что нового в Apache 2.4
- Несколько МРМ могут быть собраны в виде динамически загружаемых модулей, которые можно активировать без пересборки;
- Поддержка асинхронных операций чтения и записи;
- Директива LogLevel может быть сконфигурирована для каждого модуля и каждой директории отдельно;
- Возможность определения через оператор if для блоков конфигурации;
- Возможность указать значение параметра KeepAliveTimeout в миллисекундах;
- Директива NameVirtualHost объявлена устаревшей;
- Директива AllowOverrideList даёт более тонкую настройку .htaccess;
- Переменные в конфигурационных файлах;
- Снижено потребление памяти.
Новые модули:
- mod_proxy_fcgi — бэкенд протокола FastCGI для mod_proxy;
- mod_proxy_scgi — бэкенд протокола SCGI для mod_proxy;
- mod_proxy_express — динамически конфигурируемые прокси для mod_proxy;
- mod_remoteip — заменяет адрес IP и имя хоста клиента на запрос с IP-адреса из списка прокси или балансировки нагрузки с помощью заголовков запроса;
- mod_heartmonitor, mod_lbmethod_heartbeat — позволяет mod_proxy_balancer распределять нагрузку основываясь на данных о количестве активных соединений на бэкенд-серверах;
- mod_sed — замена mod_substitute, позволяет редактировать тело ответа посредством sed;
- mod_allowmethods — модуль ограничения некоторых методов НТТР без помех для аутентификации и авторизации;
- mod_lua — подключает интерпретатор языка Lua;
- mod_log_debug — позволяет настроить отладочное логирование на фазах обработки запросов;
- mod_buffer — обеспечивает буферизацию стеков фильтров ввода-вывода;
- mod_ratelimit — обеспечивает ограничение пропускной способности для клиентов;
- mod_reflector — обеспечивает отражение тела запроса через стек фильтра вывода.
Изменения в модулях:
- mod_ssl — добавлена поддержка проверки статуса клиентского сертификата на OCSP серверах, а также добавлена возможность совместного использования данных SSL сессии на нескольких http-серверах, через задействование memcached;
- mod_proxy — увеличена производительность работы директивы ProxyPass в блоках Location и LocationMatch;
- mod_proxy_balancer — расширено число параметров BalancerMembers, которые можно менять через balancer-manager;
- mod_cache — может кэшировать запросы HEAD, директивы модуля могут быть установлены на отдельные каталоги, а не только для всего сервера;
- mod_include — поддержка атрибута OnError в директиве include, которая позволяет предоставлять документ ошибки вместо строки ошибки по умолчанию;
- mod_authz_core — с помощью директивы Require можно использовать расширенную логику авторизации;
- mod_ldap, mod_authnz_ldap — добавлена поддержка вложенных групп, улучшения в обработке таймаутов, возможность использования инструментария LDAP для отладки.
Средства для разработчиков модулей:
- Добавлен check_config для проверки конфигурации на ранней стадии загрузки, позволяющий проанализировать параметры определенных директив и откорректировать их;
- Добавлен парсер выражений общего назначения. Код парсера основан на ранее реализованном парсере для mod_ssl;
- Добавлен интерфейс для кэширование небольших объектов, основанный на созданном для mod_ssl кэше сессионных данных. В качестве хранилища можно использовать цикличный буфер в разделяемой памяти, dbm-базу на диске и memcached;
- Добавлен cache_status для мониторинга статуса mod_cache, который вызывается после принятия решения о кэшировании.