| Раздел 1. Примечания к выпуску
Пункт 3. Новые возможности Apache 2.1/2.2 В этом документе описываются некоторые основные изменения между версиями 2.0 и 2.2 HTTP-сервера Apache. Чтобы узнать о новых функциях, начиная с версии 1.3, см. документ о новых функциях версии 2.0.
Основные улучшения
- Authn/Autz
- Связанные модули аутентификации и авторизации были переработаны. Новый модуль mod_authn_alias (уже удаленный из версий 2.3/2.4) может значительно упростить определенные конфигурации аутентификации. Дополнительные сведения о том, как эти изменения влияют на пользователей и авторов модулей, см. в разделе изменения имени модуля и изменения разработчика.
- Кэширование
-
mod_cache , mod_cache_disk и mod_mem_cache (уже удаленный из 2.3/2.4) претерпели множество изменений и теперь считаются производственным качеством. htcacheclean
был введен для очистки mod_cache_disk
установок.
- Конфигурация
- Макет конфигурации по умолчанию был упрощен и разделен на модули. Фрагменты конфигурации, которые можно использовать для включения часто используемых функций, теперь связаны с Apache и могут быть легко добавлены в конфигурацию основного сервера.
- Изящная остановка
-
prefork , worker и
MPM event теперь позволяют httpd
корректно завершать работу с помощью
graceful-stop
сигнала. Была добавлена директива GracefulShutdownTimeout для указания необязательного тайм-аута, по истечении которого
httpd работа будет завершена независимо от состояния любых обслуживаемых запросов.
- Прокси
- Новый
mod_proxy_balancer модуль предоставляет услуги балансировки нагрузки для mod_proxy . В новом mod_proxy_ajp модуле добавлена поддержка используемого
Apache JServ Protocol version 1.3 Apache Tomcat.
- Обновлена библиотека регулярных выражений
- Теперь включена версия 5.0 Perl-совместимой библиотеки регулярных выражений (PCRE).
httpd можно настроить для использования системной установки PCRE, передав
--with-pcre флаг для настройки.
- Умная фильтрация
-
mod_filter вводит динамическую конфигурацию в цепочку выходных фильтров. Он позволяет условно вставлять фильтры на основе любого заголовка запроса или ответа или переменной среды и избавляет от более проблематичных зависимостей и проблем с упорядочением в архитектуре 2.0.
- Поддержка больших файлов
-
httpd теперь поддерживает файлы размером более 2 ГБ в современных 32-разрядных системах Unix. Также была добавлена поддержка обработки тел запросов размером более 2 ГБ.
- Событие MPM
- MPM
event использует отдельный поток для обработки запросов Keep Alive и приема соединений. Запросы Keep Alive традиционно требовали, чтобы httpd выделил работника для их обработки. Этот выделенный рабочий не может быть использован снова, пока не истечет время ожидания Keep Alive.
- Поддержка базы данных SQL
-
mod_dbd вместе с apr_dbd
фреймворком обеспечивает прямую поддержку SQL для модулей, которые в ней нуждаются. Поддерживает пул соединений в многопоточных MPM.
Усовершенствования модуля
- Authn/Autz
- Модули в каталоге aaa были переименованы и предлагают лучшую поддержку дайджест-аутентификации. Например,
mod_auth теперь разделяется на
mod_auth_basic и
mod_authn_file ; mod_auth_dbm теперь называется mod_authn_dbm ; mod_access был переименован mod_authz_host . Существует также новый модуль mod_authn_alias (уже удаленный из версий 2.3/2.4) для упрощения определенных конфигураций аутентификации.
-
mod_authnz_ldap
- Этот модуль является портом
mod_auth_ldap модуля 2.0 на Authn/Authz
платформу 2.2. Новые функции включают использование значений атрибутов LDAP и сложных фильтров поиска в
Require директиве.
-
mod_authz_owner
- Новый модуль, который разрешает доступ к файлам на основе владельца файла в файловой системе.
-
mod_version
- Новый модуль, который позволяет включать блоки конфигурации в зависимости от номера версии работающего сервера.
-
mod_info
- Добавлен новый
?config аргумент, который будет отображать директивы конфигурации, проанализированные Apache, включая их имя файла и номер строки. Модуль также показывает порядок всех перехватчиков запросов и дополнительную информацию о сборке, аналогичную httpd -V .
-
mod_ssl
- Добавлена поддержка RFC 2817, которая позволяет обновлять соединения с обычного текста на шифрование TLS.
-
mod_imagemap
-
mod_imap был переименован в
mod_imagemap во избежание путаницы пользователей.
Усовершенствования программы
-
httpd
-
-M Добавлен новый параметр командной строки , в котором перечислены все модули, загруженные на основе текущей конфигурации. В отличие от -l варианта, в этот список входят DSO, загруженные через mod_so .
-
httxt2dbm
- Новая программа, используемая для создания файлов dbm из текстового ввода для использования
RewriteMap
с dbm типом карты.
Изменения разработчика модуля
- АПР 1.0 API
- Apache 2.2 использует API APR 1.0. Все устаревшие функции и символы были удалены из
APR и
APR-Util . Подробнее см. на веб-сайте APR.
- Authn/Autz
- Связанные модули аутентификации и авторизации были переименованы в соответствии со следующими строками:
-
mod_auth_* -> Модули, реализующие механизм аутентификации HTTP
-
mod_authn_* -> Модули, предоставляющие серверную аутентификацию
-
mod_authz_* -> Модули, реализующие авторизацию (или доступ)
-
mod_authnz_* -> Модуль, реализующий как аутентификацию, так и авторизацию
Существует новая схема поставщика бэкенда аутентификации, которая значительно упрощает создание новых бэкендов аутентификации.
- Регистрация ошибок подключения
- Добавлена новая функция
ap_log_cerror для регистрации ошибок, возникающих при подключении клиента. При регистрации сообщение включает IP-адрес клиента.
- Добавлен хук конфигурации теста
-
test_config Был добавлен
новый хук, чтобы помочь модулям, которые хотят выполнять специальный код только тогда, когда пользователь переходит -t к httpd .
- Установить размер стека многопоточного MPM
-
ThreadStackSize Добавлена новая директива для установки размера стека для всех многопоточных MPM. Это требуется для некоторых сторонних модулей на платформах с небольшим размером стека потоков по умолчанию.
- Обработка протокола для выходных фильтров
- В прошлом каждый фильтр отвечал за то, чтобы он генерировал правильные заголовки ответов там, где он на них влияет. Теперь фильтры могут делегировать управление общим протоколом
mod_filter , используя
вызовы ap_register_output_filter_protocol или
ap_filter_protocol .
- Добавлен хук монитора
- Хук монитора позволяет модулям запускать обычные/запланированные задания в родительском (корневом) процессе.
- Изменения API регулярных выражений
- Заголовок
pcreposix.h больше не доступен; он заменяется новым ap_regex.h заголовком. Реализация POSIX.2 regex.h , представленная старым заголовком, теперь доступна в пространстве ap_ имен из ap_regex.h . Вызовы regcomp и
regexec т.д. могут быть заменены вызовами
ap_regcomp , ap_regexec .
- DBD Framework (API базы данных SQL)
В Apache 1.x и 2.0 модули, требующие серверной части SQL, должны были взять на себя ответственность за ее управление. Помимо изобретения велосипеда, это может быть очень неэффективно, например, когда несколько модулей поддерживают свои собственные соединения.
Apache 2.1 и более поздние версии предоставляют ap_dbd API для управления подключениями к базе данных (включая оптимизированные стратегии для многопоточных и непоточных MPM), а APR 1.2 и более поздние версии предоставляют API apr_dbd для взаимодействия с базой данных.
Новым модулям СЛЕДУЕТ теперь использовать эти API для всех операций базы данных SQL. Существующие приложения СЛЕДУЕТ обновить, чтобы использовать его там, где это возможно, либо прозрачно, либо в качестве рекомендуемого варианта для своих пользователей.
|
|