Apache HTTP Server 2.2 新特性概述

2021-08-24 17:21 更新

本文檔描述了 Apache HTTP Server 2.0 和 2.2 版本之間的一些主要變化。有關(guān) 1.3 版以來(lái)的新功能,請(qǐng)參閱2.0 新功能 文檔。

核心增強(qiáng)

驗(yàn)證/驗(yàn)證
捆綁的身份驗(yàn)證和授權(quán)模塊已重構(gòu)。新的 mod_authn_alias(已從 2.3/2.4 移除)模塊可以大大簡(jiǎn)化某些身份驗(yàn)證配置。有關(guān)這些更改如何影響用戶和模塊編寫(xiě)者的更多信息,請(qǐng)參閱模塊名稱(chēng)更改和 開(kāi)發(fā)人員更改。
緩存
mod_cachemod_cache_disk, 和 mod_mem_cache(已經(jīng)從 2.3/2.4 中刪除)已經(jīng)發(fā)生了很多變化,現(xiàn)在被認(rèn)為是生產(chǎn)質(zhì)量的。htcacheclean 已被引入清理mod_cache_disk 設(shè)置。
配置
默認(rèn)配置布局已被簡(jiǎn)化和模塊化。可用于啟用常用功能的配置片段現(xiàn)在與 Apache 捆綁在一起,并且可以輕松添加到主服務(wù)器配置中。
優(yōu)雅的停止
preforkworker并且 event 最可能模式現(xiàn)在允許httpd 通過(guò)將安全關(guān)機(jī) graceful-stop 信號(hào)。GracefulShutdownTimeout添加了該指令以指定可選的超時(shí),之后httpd無(wú)論正在服務(wù)的任何請(qǐng)求的狀態(tài)如何, 都將終止。
代理
mod_proxy_balancer模塊為mod_proxy. 新mod_proxy_ajp模塊添加了對(duì)Apache TomcatApache JServ Protocol version 1.3使用的 支持 。
更新了正則表達(dá)式庫(kù)
現(xiàn)在包括Perl 兼容正則表達(dá)式庫(kù)(PCRE) 的5.0 版 。 httpd可以通過(guò)傳遞--with-pcre標(biāo)志來(lái)配置使用 PCRE 的系統(tǒng)安裝 。
智能過(guò)濾
mod_filter向輸出過(guò)濾器鏈引入動(dòng)態(tài)配置。它允許根據(jù)任何請(qǐng)求或響應(yīng)標(biāo)頭或環(huán)境變量有條件地插入過(guò)濾器,并免除 2.0 架構(gòu)中存在更多問(wèn)題的依賴(lài)項(xiàng)和排序問(wèn)題。
大文件支持
httpd現(xiàn)在在現(xiàn)代 32 位 Unix 系統(tǒng)上支持大于 2GB 的文件。還添加了對(duì)處理 >2GB 請(qǐng)求正文的支持。
事件 MPM
eventMPM使用單獨(dú)的線程來(lái)處理保持活動(dòng)的請(qǐng)求和接受連接。Keep Alive 請(qǐng)求傳統(tǒng)上需要 httpd 指定一個(gè)工作人員來(lái)處理它。在達(dá)到 Keep Alive 超時(shí)之前,無(wú)法再次使用此專(zhuān)用工作器。
SQL 數(shù)據(jù)庫(kù)支持
mod_dbdapr_dbd 框架一起為需要它的模塊帶來(lái)直接的 SQL 支持。支持線程 MPM 中的連接池。

模塊增強(qiáng)

驗(yàn)證/驗(yàn)證
aaa 目錄中的模塊已重命名,并為摘要身份驗(yàn)證提供更好的支持。例如, mod_auth現(xiàn)在被拆分為 mod_auth_basic和 mod_authn_file;mod_auth_dbm現(xiàn)在被稱(chēng)為mod_authn_dbmmod_access已更名mod_authz_host。還有一個(gè)新的 mod_authn_alias(已從 2.3/2.4 中刪除)模塊,用于簡(jiǎn)化某些身份驗(yàn)證配置。
mod_authnz_ldap
該模塊是 2.0mod_auth_ldap模塊到 2.2Authn/Authz 框架的端口 。新功能包括在Require指令中使用 LDAP 屬性值和復(fù)雜的搜索過(guò)濾器 。
mod_authz_owner
一個(gè)新的模塊,它根據(jù)文件系統(tǒng)上文件的所有者來(lái)授權(quán)訪問(wèn)文件
mod_version
一個(gè)新模塊,允許根據(jù)正在運(yùn)行的服務(wù)器的版本號(hào)啟用配置塊。
mod_info
添加了一個(gè)新?config參數(shù),它將顯示 Apache 解析的配置指令,包括它們的文件名和行號(hào)。該模塊還顯示了所有請(qǐng)求掛鉤的順序和其他構(gòu)建信息,類(lèi)似于httpd -V.
mod_ssl
添加了對(duì)RFC 2817的支持 ,它允許連接從明文升級(jí)到 TLS 加密。
mod_imagemap
mod_imap已重命名為 mod_imagemap以避免用戶混淆。

程序增強(qiáng)

httpd
添加了一個(gè)新的命令行選項(xiàng)-M,用于列出基于當(dāng)前配置加載的所有模塊。與-l選項(xiàng)不同,此列表包括通過(guò)mod_so.
httxt2dbm
一項(xiàng)新的計(jì)劃用于生成DBM從文本輸入文件,用于RewriteMap 與dbm地圖類(lèi)型。

頂部

模塊開(kāi)發(fā)人員更改

APR 1.0 API
Apache 2.2 使用 APR 1.0 API。所有不推薦使用的函數(shù)和符號(hào)都已從APR和 中 刪除APR-Util。有關(guān)詳細(xì)信息,請(qǐng)參閱 APR 網(wǎng)站。
驗(yàn)證/驗(yàn)證
捆綁的身份驗(yàn)證和授權(quán)模塊已按以下方式重命名:
  • mod_auth_* -> 實(shí)現(xiàn) HTTP 身份驗(yàn)證機(jī)制的模塊
  • mod_authn_* -> 提供后端身份驗(yàn)證提供程序的模塊
  • mod_authz_* -> 實(shí)現(xiàn)授權(quán)(或訪問(wèn))的模塊
  • mod_authnz_* -> 實(shí)現(xiàn)身份驗(yàn)證和授權(quán)的模塊
有一個(gè)新的身份驗(yàn)證后端提供程序方案,可以極大地簡(jiǎn)化新身份驗(yàn)證后端的構(gòu)建。
連接錯(cuò)誤記錄
添加了一個(gè)新功能ap_log_cerror來(lái)記錄客戶端連接發(fā)生的錯(cuò)誤。記錄時(shí),該消息包括客戶端 IP 地址。
添加了測(cè)試配置掛鉤
添加了一個(gè)新的鉤子,test_config以幫助模塊只在用戶傳遞 -thttpd.
設(shè)置線程 MPM 的堆棧大小
添加了一個(gè)新指令ThreadStackSize來(lái)設(shè)置所有線程 MPM 上的堆棧大小。對(duì)于具有較小默認(rèn)線程堆棧大小的平臺(tái)上的某些第三方模塊,這是必需的。
輸出過(guò)濾器的協(xié)議處理
過(guò)去,每個(gè)過(guò)濾器都負(fù)責(zé)確保它在影響它們的地方生成正確的響應(yīng)標(biāo)頭。過(guò)濾器現(xiàn)在可以mod_filter使用 ap_register_output_filter_protocol或 ap_filter_protocol調(diào)用將公共協(xié)議管理委托 給 。
添加了監(jiān)視器鉤子
監(jiān)視器掛鉤使模塊能夠在父(根)進(jìn)程中運(yùn)行常規(guī)/計(jì)劃作業(yè)。
正則表達(dá)式 API 變化
pcreposix.h報(bào)頭不再可用; 它被新的ap_regex.h標(biāo)題取代。該P(yáng)OSIX.2regex.h由舊的頭露出實(shí)施是現(xiàn)在下提供ap_從命名空間ap_regex.h。調(diào)用regcompregexec等可以替換為調(diào)用 ap_regcompap_regexec
DBD 框架(SQL 數(shù)據(jù)庫(kù) API)

對(duì)于 Apache 1.x 和 2.0,需要 SQL 后端的模塊必須自己負(fù)責(zé)管理它。除了重新發(fā)明輪子之外,這可能非常低效,例如當(dāng)多個(gè)模塊各自維護(hù)自己的連接時(shí)。

Apache 2.1 及更高版本提供ap_dbd用于管理數(shù)據(jù)庫(kù)連接的API(包括針對(duì)線程和非線程 MPM 的優(yōu)化策略),而 APR 1.2 及更高版本提供apr_dbd用于與數(shù)據(jù)庫(kù)交互的API。

新模塊現(xiàn)在應(yīng)該將這些 API 用于所有 SQL 數(shù)據(jù)庫(kù)操作。現(xiàn)有的應(yīng)用程序應(yīng)該升級(jí)以在可行的情況下使用它,無(wú)論是透明的還是作為向用戶推薦的選項(xiàng)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)