Сегодня состоялся релиз стабильной версии http сервера Apache под номером 2.4.1. Последняя стабильная версия 2.2 была выпущена в далеком 2005 году. Не смотря на то, что в новом релизе большое множество нововведений он обратно совместим с API версии 2.2.х.
За подробным списком новшеств прошу под кат
Основные нововведения:
- Несколько МРМ могут быть собраны в виде динамически загружаемых модулей, которые возможно активировать без пересборки;
- Модуль Event MPM теперь не является экспериментальным. Event MPM основан на коде модуля Worker и реализует гибридную модель обработки соединений, сочетающую многопоточность с пулом ожидающих соединения процессов;
- Реализована поддержка асинхронных операций чтения и записи;
- Директива LogLevel может быть сконфигурирована для каждого модуля и каждой директории отдельно. Поверх отладочного уровня логирования могут быть добавлены новые уровни от trace1 до trace8;
- Появилась возможность определения через оператор If для блоков конфигурации;
- Возможно указывать значение параметра KeepAliveTimeout в миллисекундах;
- Директива NameVirtualHost объявлена устаревшей (deprecated);
- Директива AllowOverrideList предоставляет более тонкую настройку .htaccess-файлов;
- Возможность использовать переменные в конфигурационных файлах;
- Потребление памяти по сравнению с веткой 2.2 снижено.
Новые модули:
- 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 в HTTPD для настройки и бизнес-логики;
- 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, добавлена возможность добавления новых параметров BalancerMembers через balancer-manager;
- mod_cache — может теперь кэшировать запросы HEAD, директивы модуля могут быть установлены на отдельные каталоги, а не только для всего сервера (где это возможно), модуль может предоставлять старые данные из кэша, если сервер недоступен (ошибка 5хх);
- mod_include — поддержка атрибута OnError в директиве include, что позволяет предоставлять документ ошибки вместо строки ошибки по умолчанию;
- ]mod_cgi, mod_include, mod_isapi,… — более строгая проверка трансляций заголовков в переменные окружения, что позволяет снизить вероятность XSS-атак через подстановку скриптов в заголовки, теперь такие заголовки будут отбрасываться;
- mod_authz_core — с помощью директивы Require можно использовать расширенную логику авторизации;
- mod_ldap, mod_authnz_ldap — добавлена поддержка вложенных групп, улучшения в обработке таймаутов, возможность использования инструментария LDAP для отладки.
Расширения:
- fcgistarter — новый инструмент запуска демона FastCGI;
- htcacheclean — с его помощью могут быть указаны кэшируемые URL с опциональными метаданными, объём кэша может быть ограничен в дескрипторах;
- rotatelogs — может создавать линк на текущий лог-файл.
Средства для разработчиков модулей:
- Добавлен check_config для проверки конфигурации на ранней стадии загрузки. Он позволяет независимо проанализировать параметры определенных директив и при необходимости откорректировать их;
- Добавлен парсер выражений общего назначения, API которого основан на ap_expr.h. Код парсера основан на ранее реализованном парсере для mod_ssl;
- Добавлен интерфейс для кэширование небольших объектов, основанный на ранее созданном для mod_ssl кэше сессионных данных. В качестве хранилища можно использовать цикличный буфер в разделяемой памяти, dbm-базу на диске и memcached;
- Для мониторинга статуса mod_cache добавлен cache_status, который вызывается после принятия решения о кэшировании. По умолчанию добавляет при ответе заголовки X-Cache в X-Cache-Detail.
Скачать продукт можно на официальном сайте
Список всех изменений в оригинале
Автор: Sky4eg