變更日誌

前言

這是 Apache Tomcat 連接器的變更日誌。此變更日誌不包含所有對 Tomcat 連接器的更新和修復(尚未)。它只應包含自 2004 年 11 月 10 日新的 JK 文檔專案啟動以來的修復。

1.2.48 和 1.2.49 之間的更改

Apache

  • 更新: 從 mod_unique_id 中檢索默認的請求 ID。也可以通過配置 "JkRequestIdIndicator" 從任意環境變量中取得。 (rjung)
  • 修復: 65901: 當狀態碼表示錯誤時,如果請求使用 HEAD 方法,不要將響應主體的生成委派給 httpd。 (markt)
  • 修復: 66005: 只導出主模塊符號。模塊內部符號的可見性與庫符號衝突時導致崩潰。 基於 Josef Čejka 提供的修補程序。 (rjung)
  • 修復: 刪除對請求到工作程序的隱式映射的支持。現在所有映射必須是明確的。 (rjung)

IIS

  • 更新: 將默認的請求 ID 設置為 GUID。也可以通過配置 "request_id_header" 從任意請求標頭中取得。 (rjung)
  • 修復: 修復了對 Translate 標頭的非空檢查。 (rjung)

常見

  • 修正: 修復編譯器警告,初始化和複製固定長度字符串時的錯誤。(rjung)
  • 更新: 在 mod_jk 日誌行中添加請求 ID。(rjung)
  • 修正: 64878:在 MacOS 上構建時,啟用 configure 找到 pid_t 和 pthread_t 的正確大小。(markt)
  • 修正: 修復 Clang 15/16 的兼容性問題。由 Sam James 提供的拉取請求 #6。(markt)
  • 更新: 加強狀態 worker 中的跨網站指令碼防護。(rjung)
  • 更新: 在讀取 AJP 訊息時添加額外的範圍和錯誤檢查。(schultz/markt)

文件

  • 更新: 刪除對 Netscape / Sun ONE / Oracle iPlanet Web Server 的支援,因為該產品已經停產。(markt)
  • 更新: 刪除舊的 JK2 文件連結。JK2 文件仍然可用,只是不再與當前的 JK 文件連結在一起。(markt)
  • 更新: 重新組織版本 1.2.45 開始的變更記錄中的子節點。(rjung)

1.2.47 和 1.2.48 之間的變更

IIS

  • 更新: 更新安裝方法,刪除不再支援的 Windows 版本,並添加 Windows Server 2019。(markt)

1.2.46 和 1.2.47 之間的變更

Apache

  • 新增: 將方法進入/退出的追蹤級別日誌擴展以幫助調試請求映射問題。(markt)
  • 修正: 修復正規化檢查中的一個錯誤,防止基於文件的請求(例如 SSI 文件包含)被處理。(markt)
  • 修正: 63214:使用 JkAutoAlias 時,確保名稱中包含空格的文件可訪問。(markt)

常見

  • 更新: 更新文檔以反映 Apache Tomcat Connectors 的源代碼已從 Subversion 移至 Git。(markt)
  • 修正: 64051:使用 set_session_cookie 時,如果負載平衡器必須切換到不同的工作進程,則發出更新的會話 cookie。(markt)
  • 更新:https://git.savannah.gnu.org/git/config.git 更新 config.guess 和 config.sub。(markt)
  • 更新: 將釋出腳本更新以遷移到 git。(rjung)

版本 1.2.45 與 1.2.46 之間的變更

Apache

  • 修復: 62751: 修復 1.2.44 中的回歸,該回歸導致在提供 poll() 的平台上,socket_connect_timeout 被解釋為秒而不是毫秒。 (rjung)

版本 1.2.44 與 1.2.45 之間的變更

Apache

  • 更新: 更新文檔以注意 JkAutoAlias 指令的附加限制。 (markt)
  • 修復: 改進路徑參數處理,使 JkStripSession 可以刪除位於 URI 的任何部分中指定的會話 ID,而不僅僅是最後一個部分。 (markt)

IIS

  • 修復: 改進路徑參數處理,使 strip_session 可以刪除位於 URI 的任何部分中指定的會話 ID,而不僅僅是最後一個部分。 (markt)

常見

  • 修復: 62689: 修正 1.2.44 中破壞了 OPTIONS * 請求處理的回歸。 (rjung)
  • 代碼: 優化路徑參數處理。 (rjung)
  • 修復: 改進路徑參數解析,以便從 URI 的任何部分中提取負載平衡工作進程的 session_path 屬性指定的會話 ID,而不僅僅是從最後一個部分中提取。 (markt)

版本 1.2.43 與 1.2.44 之間的變更

本地

  • 更新: 刪除 Novell Netware 的製作文件和 Netware 特定的源代碼,因為在過去五年中沒有支持的 Netware 版本可用。 (markt)
  • 更新: 57946: Apache: 更新文檔以使用 httpd 2.4.x 樣式的訪問控制指令。 (markt)
  • 修復: 58287: Common: 在 Windows 上使用 Local,而不是 Global,互斥鎖,以更好地支持多用戶環境。 (markt)
  • 修復: 59897: Apache: 使用 poll 而不是 select 以避免 select 的限制觸發 httpd 崩潰。 Koen Wilde 提供的補丁。 (markt)
  • 修復: 60745: ISAPI: 刪除拒絕包含與 WEB-INF 或 META-INF 匹配的路徑段的請求的檢查,因為這是 Tomcat 執行的檢查的重複,而且由於 ISAPI 無法看到當前上下文路徑,所以無法實現此檢查,而使有效請求被拒絕。 (markt)
  • 添加: 澄清當所有 ajp13 工作進程失敗時 lb 工作進程的行為,特別參考重試屬性的作用。 (markt)
  • 添加: 62408: 添加新的負載均衡工作進程屬性 lb_retries,以改進對重試次數的控制。基於 Frederik Nosi 提供的補丁。 (markt)
  • 修正: 重構請求 URI 的規範化,將其定位到一個共同的位置,並將 mod_jk 的規範化實現與 Tomcat 實現的對齊。 (markt)
  • 新增: 在文檔中添加一個注意事項,即由於對規範化進行的更改,CollapseSlashes 選項現在有效地硬編碼為 CollpaseSlashesAll。這是為了與 Tomcat 中實現的規範化保持一致所做的更改。 (markt)
  • 更新: 更新 ISAPI 重定向器中捆綁的 PCRE 到 8.42 版本。 (rjung)
  • 更新:https://git.savannah.gnu.org/git/config.git 更新 config.guess 和 config.sub。 (rjung)

版本 1.2.42 和 1.2.43 之間的更改

本地

  • 修正: 61733: LB: 正確地將狀態工作程序應用的負載因子更改傳播到所有進程的負載平衡器子工作程序。根據 Jonathan Oddy 提供的補丁。 (rjung)
  • 修正: ISAPI: 對齊 32 位和 64 位版本的製作文件。 (markt)
  • 更新:http://git.savannah.gnu.org/cgit/config.git 更新 config.guess 和 config.sub。 (rjung)
  • 更新: 更新 ISAPI 重定向器中捆綁的 PCRE 到 8.41 版本。 (rjung)
  • 修正: 更新 ISAPI 重定向器安裝文檔,以反映當前支持的 Windows 版本。 (markt)
  • 修正: 對齊 ISAPI 重定向器執行的規範化與 Tomcat 中實現的規範化。 (markt)

版本 1.2.41 和 1.2.42 之間的更改

本地

  • 修正: 狀態:在 AJP 工作程序在沒有負載平衡器工作程序的情況下使用時,修正了從後端讀取的字節數和寫入的字節數的顯示問題。 (rjung)
  • 修正: Apache:如果在早期處理階段已經失敗地從客戶端讀取請求正文,則在清理期間不要嘗試讀取剩餘的請求正文部分。 (rjung)
  • 修正: 57485: Apache:將從客戶端讀取請求正文的錯誤傳播給 mod_jk,使得 Tomcat 看到的是一個錯誤而不是截斷的正文。 (markt)
  • 修正: 57836: ISAPI:空的 REMOTE_USER 不應該被翻譯為 ""。 (rjung)
  • 修正: 58249: 在文檔中添加一個注意事項,如果指定了不是 1024 的倍數的值,則將 max_packet_size 對齊到下一個 1024 的倍數。 (markt)
  • 更新: 58309: ISAPI:從版本 5.0 更新捆綁的 pcre 到 8.38 版本。 (rjung)
  • 修復: 58286:修復 mod_jk 和 ISAPI Redirector 中的崩潰。該崩潰僅在 Windows 平台上發生,當檢索 HTML 格式的 jk-status(默認格式)時發生。這個回歸是由對 54177 的修復引起的。(rjung)
  • 修復: 58285:在不提供原子操作實現的平台上,不使用 GCC 原子操作。這個回歸是由對 4445456703 的修復引起的。(rjung)
  • 修復: 58425:修復 1.2.41 中的回歸,阻止了 AJP 1.2 workers 的初始化。請注意,AJP 1.2 協議已被棄用。由 yagisita 提供的補丁。(markt)
  • 修復: 58504:如果使用背景線程執行 worker 維護,確保不會跳過維護運行。由 Hiroto Shimizu 提供的補丁。(markt)
  • 修復: 58608:ISAPI:添加一個新的註冊表選項“flush_packets”,允許控制 IIS7+ 的刷新行為。默認情況下不進行刷新。將該選項設置為“true”將導致 IIS 在收到每個 AJP 封包時將數據寫入客戶端。(markt)
  • 修復: 58813:ISAPI:正確釋放一個互斥鎖,允許插件完成初始化。在此修復之前,初始化不完整導致關機時卡住。由 Matthew Reiter 提供的補丁。(markt)
  • 修復: 58895:正確修復日誌消息中與後端伺服器通信嘗試次數的一個 off-by-one 錯誤。由 Hiroto Shimizu 提供的補丁。(markt)
  • 修復: 59164:如果指定的 worker 主機名無法解析為 IP 地址,則在首次連接時修復崩潰問題。(markt)
  • 修正: 59184:HTTPD:避免當 mod_jk 配置無效的 JkShmFile 值時出現分段錯誤。這導致伺服器啟動失敗。(markt)
  • 修正: 小型程式碼清理和優化。(markt)

1.2.40 到 1.2.41 之間的更改

本地

  • 修正: AJP,LB:減少維護函數期間的鎖競爭。當使用大量的 AJP13 和 LB 工作程序,特別是與 Apache httpd prefork MPM 結合使用時,這是可觀察到的。(rjung)
  • 修正: 57060:允許在源樹之外進行構建。由 Petr Sumbera 貢獻的補丁。(rjung)
  • 修正: 56703:狀態:修復當後端連接發生連接超時時的當前後端連接數的膨脹計數器。(rjung)
  • 修正: 56661:修復 Servlet API getLocalAddr()。適用於 Tomcat 6.0.42、7.0.55 和 8.0.11,以及 Apache 和 ISAPI 插件。(rjung)
  • 更新: 狀態:在更改工作屬性時記錄舊值和新值。(rjung)
  • 修正: 56667:狀態:修正更改所有成員激活狀態時的日誌消息。(rjung)
  • 修正: 56565:修正非雙網路堆疊上的 IPV6 地址解析。(mturk)
  • 修正: 50511:將 "OPTIONS *" 請求的日誌級別從警告降低到調試。(rjung)
  • 修正: Apache:複製日誌註釋而不使用引用,以防止從已關閉的池中訪問內存。(rjung)
  • 添加: 添加控制掛載和卸載中多個相鄰斜線處理的選項。新默認值僅在卸載時折疊斜線。配置通過 Apache 的新 JkOption("CollapseSlashesAll"、"CollapseSlashesNone" 或 "CollapseSlashesUnmount")和 IIS 的 property "collapse_slashes"(值為 "all"、"none"、"unmount")進行。這是 CVE-2014-8111 的修復。(rjung)
  • 添加: 添加更多共享內存分配檢查。(rjung)
  • 添加: 56869:狀態:將最大打開的後端連接數添加到狀態工作者。由 Martin Knoblauch 貢獻的補丁。(rjung)
  • 新增: 56770:AJP:在所有日誌訊息中新增工作程序名稱。Martin Knoblauch貢獻了修補程式。 (rjung)
  • 修正: 50186:文件:澄清Tomcat AJP連接器配置中“connection_pool_timeout”和“keepAliveTimeout”或“connectionTimeout”之間的關係。 (rjung)
  • 修正: 52334:LB:在第一次恢復嘗試後,根據最後一次恢復嘗試時間計算工作程序恢復時間,而不是原始錯誤時間。 (rjung)
  • 修正: 54596 第1部分:IIS:修正解析配置中沒有“..”目錄組件的相對文件名時遺失最後一個字符的問題。 (rjung)
  • 修正: 54596 第2部分:IIS:修正在配置中使用相對文件名並包含“..”路徑段,該段導致目錄層次結構高於相對文件名的起始點的問題。 (rjung)
  • 修正: 狀態:如果由於緩衝區大小不足而丟棄狀態工作程序輸出,則新增日誌記錄。 (rjung)
  • 修正: 將日誌緩衝區從8KB減少為1KB。在日誌記錄失敗時新增日誌記錄,並對可能被截斷的行添加尾部“...”。 (rjung)
  • 更新: 通過動態分配替換對fail_on_status的32個固定分配。 (rjung)
  • 新增: 強制執行對工作程序屬性“name”、“host”、“route”、“domain”、“redirect”、“session_cookie”、“session_path”和“set_session_cookie”的最大長度“60”的實施限制。對配置文件處理和通過狀態工作程序進行配置更新添加了檢查。 (rjung)
  • 新增: 52483:Apache:新增對JkOptions配置處理結果的調試日誌記錄。 (rjung)
  • 修正: 54177:狀態:使用數字時間戳記而不是文本時間戳記,以避免非格式良好的XML輸出。文本時間戳記根據區域設置進行格式化,並將它們重新編碼為UTF-8將是麻煩的。 (rjung)
  • 修正: 56618:狀態:在讀取查詢字符串參數時使用百分比解碼。例如,如果客戶端將“:”編碼為“%3A”,則這將修正通過狀態工作程序編輯IPv6地址的問題。Christopher Schultz提供了修補程式。 (rjung)
  • 修正: 56452:修正在IPv6地址的調試日誌記錄中崩潰的問題。Christopher Schultz提供了修補程式。 (rjung)
  • 修復: 34526:Apache:改善與 mod_deflate 請求體膨脹的相容性。未實現 mod_deflate 膨脹的自動檢測。改用新的 Apache 環境變數 JK_IGNORE_CL,以讓 mod_jk 忽略現有的 Content-Length 請求標頭。(rjung)
  • 更新: 44454:LB:在文檔中添加關於 "busyness" 負載平衡方法問題的警告。(rjung)
  • 修復: 44454:通過使用原子操作改進忙碌計數器。(rjung)
  • 修復: 56703:狀態:改進連接計數器。使用原子操作並對 mod_jk(Apache)正確地計算子進程停止時關閉的連接。(rjung)
  • 修復: 44571:確保如果無法為工作者獲取端點,則返回狀態 503。(rjung)
  • 修復: Apache:在優雅或正常重啟期間改進日誌處理。(rjung)
  • 修復: 在使用 CPing 可選檢查空閒連接時,不要更新工作者連接的最後訪問時間。更新時間戳會中斷關閉空閒連接。(rjung)
  • 修復: 調整連接關閉期間使用的滯留參數。(rjung)
  • 修復: 修復基於配置的構建期間關於自動配置 PACKAGE 定義的煩人重新定義警告。(rjung)
  • 修復: 狀態:使用多行表頭並修正無效的 XML 輸出。(rjung)
  • 修復: 44571:實現對工作者允許的並發請求數的可選限制(屬性 "busy_limit")。原始补丁由 zealot0630 at gmail dot com 貢獻。(rjung)
  • 修復: 將日誌消息 "所有端點已斷開連接" 更正為 "找不到可用連接,將創建一個新的"。將信息日誌級別調整為調試日誌級別以適應常見情況。(rjung)
  • 添加: 57536:AJP:允許配置連接源地址。這僅應在多宿主主機上使用。此功能是實驗性的。(rjung)
  • 新增: 57540:AJP:轉發處理請求所使用的 SSL 協議名稱(SSLv3、TLSv1、TLSv1.1、TLSv1.2)。 (rjung)

1.2.39 與 1.2.40 之間的變更

本地

  • 修復: 修復在版本 1.2.39 中中斷的分塊請求轉發。 (rjung)
  • 修復: 56352:修復內存釋放中的回歸。 (mturk)
  • 修復: 修復在更改名稱或端口後,狀態工作程序顯示工作程序 IP 地址的問題。 (rjung)
  • 更新: 56297:改進密鑰哈希函數。從 APR 複製。 (rjung)
  • 修復: 55683:從引號中移除引號的會話 cookie。 (rjung)
  • 修復: 53542:ISAPI:修復 503 錯誤頁面中的語法。 (rjung)
  • 修復: 55696:在 Mac OS X 10.9 上解析配置時崩潰。 (rjung)

1.2.37 與 1.2.39 之間的變更

本地

  • 更新: 停用 Apache Tomcat 連接器中的 nt_service。 (mturk)
  • 修復: 56133:修復在請求失敗且設置了 reply_timeout 時可能崩潰的問題。由 Hiroto Shimizu 貢獻的補丁。 (rjung)
  • 修復: 修復狀態工作程序未更新所有成員的參數。 (mturk)
  • 修復: 55853:HTTPD:使用正確的 API 設置 Content-Length。由 areese yahoo-inc.com 貢獻的補丁。 (rjung)
  • 新增: 添加對連接到 web 伺服器的 IPV6 支持。已添加新指令 prefer_ipv6 以控制主機名解析並保留向後兼容性。 (mturk)
  • 新增: 將 --disable-sock-cloexec 添加到配置以禁用使用 SOCK_CLOEXEC(改用 FD_CLOEXEC + fnctl)以便建構模組將與 Linux 內核 2.6.27 之前的版本一起使用。 (timw)
  • 更新: 清理配置文件解析。工作程序名稱現在限制為 60 個字節。 (rjung)
  • 更新: 允許設置一個持久性 cookie,以防止網頁框架破壞 Tomcat 將路由 ID 添加到 JSESSIONID cookie 的末尾。(rjung)
  • 更新: 對於請求主體轉發,也使用 max_packet_size。(rjung)
  • 更新: Apache 2.4:默認情況下,將遞送的邏輯客戶端地址作為 mod_remoteip 提供的地址進行轉發。當設置 JkOptions ForwardPhysicalAddress mod_jk 時,將轉發物理對等地址。(rjung)
  • 更新: 小幅改進文檔。(rjung)

1.2.36 和 1.2.37 之間的變更

本地

  • 修復: 修復回歸,當工作者既定義為負載平衡器的成員,又定義為獨立工作者時,可能導致網絡服務器崩潰的問題。(mturk)
  • 修復: 修復核心問題,如果指定了調試日誌級別且沒有會話標識符,則會出現核心問題。(mturk)

1.2.35 和 1.2.36 之間的變更

本地

  • 修復: 使用命名共享內存對象,以便在每次子進程創建時保留運行時配置的數據,而不是重置。(mturk)
  • 修復: 修復由於未在關閉時釋放互斥鎖而導致的死鎖。(mturk)
  • 修復: 修復為 HTTPD 1.3 編譯 mod_jk 的問題。(rjung)
  • 修復: 46893:HTTPD 1.3:應用修復程序到 HTTPD 1.3。它已在版本 1.2.30 中為 HTTPD 2.x 修復。(rjung)
  • 更新: HTTPD 1.3:允許設置執行 JkStripSession 時使用的路徑參數。這在 HTTPD 2.x 中自 mod_jk 1.2.27 起已經可用。(rjung)

1.2.33 和 1.2.35 之間的變更

本地

  • 修復: HTTPD:修復未知工作者名稱導致崩潰的問題。(mturk)
  • 修復: IIS:修復工作者進程重啟時崩潰的問題。(mturk)
  • 修復: 52659:IIS:修復共享內存損壞的問題。(mturk)
  • 修復: 52921:HTTPD:修復 URI 映射中的崩潰問題。(mturk)

1.2.32 和 1.2.33 之間的變更

本地

  • 修復: 52793:AJP:修正轉發工作者啟動狀態的默認值。由 Yoshihito Fukuyama 貢獻。(rjung)
  • 修復: HTTPD:通過使用 client_* 而不是 remote_* 變量改進對 HTTPD 2.4 的支持。(rjung)
  • 修復: 52564:使用格式檢查 gcc 安全加固 cflags 修復構建問題。由 Tony Mancill 貢獻。(rjung)
  • 修正: 52567:如果Balancer成員處於恢復狀態並且處於閒置狀態,則可能切換回錯誤狀態。(rjung)
  • 更新: 如果無法加載URI工作器映射文件,則記錄錯誤,並改善IIS上不可讀的工作器文件的記錄。(timw)
  • 更新: 刪除已棄用的JNI工作器並構建對Java SDK的依賴關係。(mturk)
  • 修正: 51253:在使用服務器生成的錯誤頁面時轉發WWW-Authenticate標頭(rjung,mturk)。
  • 更新: 46406:IIS:支持配置中的相對路徑。路徑被假定為相對於isapi_redirect.dll。(mturk)
  • 修正: 50233:不要對URI大小使用硬限制(mturk)。
  • 更新: IIS:使用Windows Server 2003 SP1,Windows XP SP2作為最低支持版本。(mturk)
  • 修正: 47038:在使用--enable-flock進行配置時修正編譯器警告。(rjung)
  • 添加: 51326:URI映射:添加“session_cookie”和“session_path”規則擴展。由Eiji Takahashi貢獻。(rjung)
  • 更新: 51333:IIS:記錄64位環境的配置要求。(rjung)
  • 添加: 51743:HTTPD:在定義具有環境變量的請求工作器時支持規則擴展(例如JK_WORKER_NAME)。 (rjung)
  • 修正: 51769:IIS:允許包含“META-INF”或“WEB-INF”的URI,只要它們不是URI的路徑組件即可。(rjung)
  • 修正: 52056:HTTPD:JK請求日誌不始終記錄正確的響應狀態。通過重構JK請求日誌以使用標准請求日誌鉤子來修復。(rjung)
  • 添加: HTTPD:允許使用環境變量JK_ROUTE選擇黏性工作器。如果會話和路由以非標準方式隨請求發送,則可以使用此功能。(rjung)
  • 添加: URI映射:在uri工作器映射中添加“sticky_ignore”擴展屬性。它允許對個別掛載禁用黏性。(rjung)
  • 新增: HTTPD:使用環境變數 JK_STICKY_IGNORE 可動態禁用黏性,這對於非黏性請求(如登錄表單)可以很有用。(rjung)
  • 新增: LB:新增平衡方法 "Next",以循環方式分發會話。(rjung)
  • 新增: LB:狀態工作程序和 HTTPD 註釋中新增了創建會話的計數器。實際上計算不攜帶會話 ID 的請求數。(rjung)
  • 新增: URI 地圖:在 uri worker 地圖中新增了 "stateless" 擴展屬性。這可以改善會話負載平衡。(rjung)
  • 新增: HTTPD:使用環境變數 JK_STATELESS 可動態將請求切換到 "stateless"。(rjung)
  • 更新: AJP:當請求不符合 AJP 封包時改進記錄。(rjung)

1.2.31 與 1.2.32 之間的變更

本地

  • 修復: 51417:通過查詢工作程序端點修復工作程序忙碌檢測。放棄的連接可能會導致工作程序處於繁忙狀態而不減少忙碌計數器。(mturk)
  • 修復: 50339:解析屬性列表時修復空白修剪。(rjung)
  • 修復: 41263:支援 Servlet API 的 getRemotePort()。適用於 Tomcat 5.5.28、6.0.20 和 7.0.0 以及 Apache 和 ISAPI 插件。(rjung)
  • 修復: 41923:AJP:在指定 recovery_options 4 時,當客戶端寫入錯誤時關閉到 Tomcat 的 AJP 連接,中止 Tomcat 端的響應寫入。(timw)
  • 更新: AJP:在關閉 AJP 套接字時,將要讀取的殘留字節數上限設置為 32k,以防止客戶端在大型響應主體上中斷連接時在 Web 伺服器上產生 CPU 使用率飆升。同時將總殘留時間減少為 2 秒。(timw)
  • 修復: 50839:AJP:修復因殘留字節計算不正確導致的 30 秒 CPU 使用率飆升,從而在響應寫入期間客戶端中斷連接時造成忙碌循環。修復了 1.2.31 中的回歸。(timw)
  • 新增: LB:將工作啟動狀態作為請求屬性“JK_LB_ACTIVATION”轉發。可能的值包括“ACT”(活動)、“DIS”(停用)和“STP”(停止)。 (rjung)
  • 修復: HTTPD:在狀態為401且使用服務器生成的錯誤頁面時,從後端轉發WWW-Authenticate。 (rjung)
  • 修復: 50363:IIS:防止對204、205和304響應的空消息主體進行分塊編碼。 (timw)
  • 修復: 50975:IIS:修復當請求中同時存在Content-Length標頭時,導致Transfer-Encoding: chunked請求挂起的問題,也解決了當原始請求中不存在Content-Length標頭時,IIS似乎會為一個小的分塊編碼請求創建Content-Length標頭的情況。 (timw)
  • 修復: 47679:IIS:在沒有安裝相應過濾器的情況下,停止對使用ISAPI重定向器作為擴展的請求標頭進行截斷。 (timw)
  • 修復: NSAPI:對響應使用小寫標頭名稱。 否則,Web服務器可能會在我們的內容長度標頭之外添加分塊傳輸編碼標頭。
  • 更新: 文檔:改進負載平衡器文檔。 (rjung)

1.2.30 和 1.2.31 之間的變更

本地

  • 修復: 49413:AJP13:在響應完成後丟棄後端發送的刷新封包。 (rjung)
  • 更新: AJP:記錄本地和遠程套接字地址。 (mturk)
  • 更新: Watchdog:將維護工作人員移出臨界區,允許其他線程在維護期間使用連接池。 (mturk)
  • 更新: 公共:將svn版本添加到初始日誌消息中。 (rjung)
  • 修復: 公共:在跟蹤日誌記錄期間不要破壞錯誤號。 (rjung)
  • 更新: Apache:添加對Apache 2.3/2.4的支持。 (rjung)
  • 更新: Apache:在Windows上為mod_jk.so添加版本號資源。 (timw)
  • 更新: 48501:IIS:將rotatelogs風格的日誌輪換添加到ISAPI重定向器。 (timw)
  • 修復: 38895:IIS:默認使用RAW標頭而不是CGI標頭,以防止將下劃線'_'轉換為連字符'-'。 可通過定義USE_CGI_HEADERS來啟用舊的行為。 (timw)
  • 修正: 49511:IIS:當持續連線中的後續請求未被映射到 ISAPI 重新導向器時,請勿覆蓋 IIS 日誌資訊。(timw)
  • 修正: 文件:記錄需要用於 SSL 資訊轉發的 SSLOptions。(rjung)
  • 更新: 文件:由 André Warnier 提供的文法和風格改進以及有關 IIS 提供靜態內容的澄清。(rjung)
  • 修正: 文件:更新文件中使用的次級版本路徑。(rjung)

1.2.28 和 1.2.30 之間的變更

本地

  • 更新: Apache:提高與 Apache 2.3 的兼容性。(rjung)
  • 修正: 46632:Apache:不要為我們的池註冊子進程清理。(mturk)
  • 修正: 46893:Apache:僅在配置中實際設置了 JkShmSize 時記錄警告。(mturk)
  • 更新: IIS:包括可選的分塊支援。默認情況下關閉。(mturk)
  • 修正: 48763:IIS:在使用分塊編碼或長度大於 4GB 時,請勿發送 Content-Length。(mturk)
  • 修正: 48223:IIS:將正確的後端錯誤碼傳遞給 IIS。(rjung)
  • 修正: 47867:IIS:在使用 VS2008 編譯且 workers.properties 包含不支持的屬性時,啟動期間崩潰。由 Indrek Juhani 提供的修補程式(rjung)
  • 修正: 47628:IIS:修正因未釋放臨界區鎖定而導致應用程序池重新啟動時的死鎖。由 Bret Prucha 提供的修補程式。(mturk)
  • 修正: IIS/NSAPI:在每行後正確記錄檔案刷新。(mturk)
  • 新增: NSAPI:新增 Microsoft Visual C++ Makefile。(mturk)
  • 更新: AJP:改善套接字关闭处理。(mturk)
  • 更新: AJP:确保我们永远不会重用不可重用的套接字。(mturk)
  • 更新: AJP:在等待 cpong 时容忍单个过多的数据包。(mturk)
  • 更新: AJP:更严格地检查协议的正确性。(mturk)
  • 更新: 48410:AJP:使用 poll 而不是 select,以便我们可以处理超过 1024 个套接字。(mturk)
  • 修复: 46503:AJP/Status:工作域和路由中的垃圾数据。(mturk)
  • 修复: 48276:AJP:当无法解析工作联系人时,将工作联系人标记为已禁用,而不是无法启动服务器。(mturk)
  • 修复: 48169:AJP:通过在执行期间关闭所有套接字来改进 CGI 互操作性。(mturk)
  • 新增: 状态:向状态工作程序添加打开的后端连接数。此功能为实验性功能,显示的值可能不准确。(mturk)
  • 更新: 47224:状态:当地址更改时,使端点缓存中的所有已打开套接字失效。这将导致使用新地址打开新的后端连接。(mturk)
  • 修复: 48305:状态:在进行转储时不显示 "secret" 属性。(mturk)
  • 修复: 45610:状态:不接受子工作参数的空值请求。(rjung)
  • 修复: 45610:状态:在通过状态工作程序更新其他负载平衡器属性时,修复错误取消设置 sticky_session 和 sticky_session_force。(rjung)
  • 修正: 47222:狀態:將 ping_timeout 加入共享記憶體,並允許動態配置。(mturk)
  • 修正: 狀態:移除 AJP13 工作器屬性視圖中重複的 "errors" 行,這些工作器是負載平衡器的一部分。(rjung)
  • 修正: LB:修復路由記錄。(rjung)
  • 更新: 日誌:自動檢測日誌的執行緒 ID 大小。(rjung)
  • 更新: 日誌:在定義 JK_LOG_LOCKING 時,為 Windows 新增可選的日誌文件鎖定功能。(mturk)
  • 更新: 配置:更新示例配置。(rjung)
  • 更新: 文件:更新關於創建發行版所需工具的資訊。(rjung)
  • 修正: 47983:文件:修正範例配置中的拼字錯誤,該錯誤導致啟動失敗。(rjung)
  • 更新: 構建:強制複製 automake 文件。(rjung)
  • 更新: 構建:Tomcat 代碼庫結構清理反映在文件和構建腳本中。(rjung, mturk)

1.2.27 與 1.2.28 之間的變更

本地

  • 新增: Apache:新增更多環境變數以覆蓋請求信息。在 Apache 前面有代理並通過自定義標頭發送原始請求信息時非常有用。(rjung)
  • 更新: Apache:不再預先分配 JK 請求日誌的條目。(rjung)
  • 修正: 46352:Apache:修正在虛擬主機中使用 SetHandler jakarta-servlet 而沒有任何 JkMount 時崩潰的問題。由於掛載擴展初始化不正確而導致崩潰。(rjung)
  • 修正: Apache:JkWatchdogInterval 的間隔計算錯誤,導致看門狗間隔是配置的 10 倍。(mturk)
  • 修正: Apache:默認啟用 SSL 金鑰大小的轉發。(rjung)
  • 修正: 46169:Apache 1.3:回溯使用 use_server_errors 掛載擴展。(rjung)
  • 修正: 46763:Apache 2.0:在優雅重啟期間生存日誌互斥鎖。由 Eiji Takahashi 提供的補丁。(mturk)
  • 修正: 46416:Windows 上的 Apache 2.0:即使 apr 沒有包含,也要包含 mstcipip.h。(mturk)
  • 更新: IIS:定期更新 uriworkermap.properties 文件。這需要定義 worker_mount_reload 和 watchdog_interval 兩個屬性。(mturk)
  • 更新: IIS:從註冊表文件中刪除過時的條目。(mturk)
  • 修正: 46579:IIS:使用本地環境表而不是環境變數設置 JKISAPI_PATH 和 JKISAPI_NAME。(mturk)
  • 更新: LB:新增新屬性 error_escalation_time 以微調將本地錯誤升級為
  • 更新: LB:如果黏性會話親和標記包含一個句點,則將句點之前的部分視為域名。這允許使用域故障轉移實現完整節點會話親和性。 (mturk)
  • 修正: LB:使強制恢復與本地錯誤狀態一起工作。 (rjung)
  • 修正: LB:只有在實際上具有新狀態時,才更新錯誤狀態和錯誤時間。 (rjung)
  • 修正: LB:當達到 max_reply_timeouts,或 fail_on_status 觸發硬錯誤時,將全局工作程序狀態設置為錯誤。 (rjung)
  • 更新: AJP:添加一個新的錯誤類型 JK_AJP_PROTOCOL_ERROR。 (mturk)
  • 更新: AJP:允許工作程序端口低於或等於 1024。 (rjung)
  • 更新: AJP:改進一些 AJP 錯誤日誌消息。 (mturk)
  • 更新: 狀態:允許更改 AJP 工作程序的工作地址和端口。地址在下一個對該工作程序的請求上解析。 (mturk)
  • 更新: 狀態:允許更新操作在結果頁面中顯示錯誤消息。 (rjung)
  • 更新: 狀態:重構更新操作。 (rjung)
  • 更新: 狀態:如果在操作期間發生錯誤,則不要重定向到顯示或列表頁面。 (rjung)
  • 更新: 狀態:在顯示中包含錯誤時間。 (rjung)
  • 更新: 狀態:從工作程序顯示中刪除多餘的端口信息。重命名地址列並從圖例中刪除其解釋。 (rjung)
  • 更新: 狀態:優化強制 uriworkermap.properties 重新加載。 (mturk)
  • 修正: 狀態:修正文本顯示中的崩潰。 (rjung)
  • 修正: 狀態:顯示 - 編輯 - 顯示始終以單個負載均衡器成員顯示,即使從所有成員的負載均衡器顯示開始也是如此。 (rjung)
  • 修復: 狀態:更新操作中子工作名稱中的萬用字元已損壞。(rjung)
  • 修復: 狀態:將 use_server_errors 添加到地圖顯示。(rjung)
  • 更新: SHM:將鎖定移至數據拉取和推送方法中。(rjung)
  • 更新: JNI:不建議使用 JNI 工作。(rjung)
  • 修復: Netware:缺少 MAX_PATH 定義。Guenter Knauf 提交的補丁。(rjung)
  • 更新: 文件:新增有關反向代理的新HowTo頁面。(rjung)
  • 更新: 文件:在超時文檔中添加本地錯誤狀態的解釋。(rjung)
  • 更新: 文件:澄清 socket_timeout 和 socket_connect_timeout 之間的關係。(rjung)
  • 更新: 文件:澄清 IIS URL 重寫功能。(rjung)
  • 修復: 46834,46734:文件:修復幾個丟失或損壞的鏈接。(markt,rjung)
  • 修復: 文件:將2008年的新聞添加到主頁和菜單。(mturk, rjung)

版本1.2.26與1.2.27之間的更改

本地

  • 修復: 46109:即使 lb 方法是繁忙,也應衰減 reply_timeouts。同時在強制恢復期間重置 reply_timeouts。(rjung)
  • 更新: AJP13:如果上一個請求未完成,則回收連接。(mturk)
  • 更新: 維護不應該並行運行多次。(mturk)
  • 修復: Apache:修復重啟期間的小內存洩漏。(mturk)
  • 更新: 改進套接字關閉期間的信號處理。(mturk)
  • 添加: URI 地圖:為 uri worker 地圖添加調試轉儲功能。(rjung)
  • 更新: 對於非發布版本,將修訂號添加到版本信息中。(rjung)
  • 添加: IIS:可選地允許響應使用分塊編碼。目前僅在定義了 ISAPI_ALLOW_CHUNKING 的情況下可用。基於 Tim Whittington 提交的補丁。(rjung)
  • 更新: IIS:可選地使用原始標頭而不是 CGI 標頭。修復標題中的問題“底線=連字符”。目前僅在定義了 USE_RAW_HEADERS 的情況下可用。(rjung)
  • 更新: IIS:可選地改進 IIS 5.1 的相容性。目前只有在定義 AUTOMATIC_AUTH_NOTIFICATION 的情況下才可用。基於 Tim Whittington 的補丁。(rjung)
  • 修復: IIS:修復由多個線程的並行初始化導致的內存破壞。(rjung)
  • 更新: Windows:使用非默認的套接字保持活動間隔。(mturk)
  • 新增: IIS:新增環境變量 JKISAPI_PATH 和 JKISAPI_NAME。(mturk)
  • 新增: 新增 socket_connect_timeout 指令以設置套接字的連接超時。這使得可以擁有較低的連接超時但較高的操作超時。(mturk)
  • 修復: AJP13:[CVE-2008-5519] 即使客戶端在發送請求後但在提供 POST 數據之前斷開連接,始終發送初始的 POST 封包。在這種情況下或在客戶端在讀取過程中斷開連接後,發送一個大小為零的封包通知容器客戶端連接已中斷。(mturk)
  • 新增: AJP13:新增 connection_acquire_timeout 指令以設置工作者等待空閒端點的絕對超時時間。(mturk)
  • 更新: Apache:允許設置 JkStripSession 時使用的路徑參數。(mturk)
  • 更新: 重構重試實現並更改重試屬性的語義。(mturk)
  • 更新: 狀態:允許僅顯示負載均衡器的單個成員。(rjung)
  • 更新: 狀態:添加自上次統計重置以來的秒數顯示以及訪問和傳輸速率。(rjung)
  • 新增: AJP13:新增可配置的 retry_interval 時間。(rjung)
  • 更新: 文檔:增強 connection_pool_size 的描述。(rjung)
  • 更新: IIS:重構錯誤頁生成。(mturk)
  • 修復: IIS:如果根據 IP:端口組合處理請求,則 SERVER_NAME 變量可以對應多個不同的服務器實例。改用請求所屬的 INSTANCE_ID 變量。(mturk)
  • 新增: 允許轉發服務器錯誤頁面。這可以通過新的 use_server_errors 擴展在每個 URI 基礎上進行。(mturk)
  • 新增: 新增 session_cookie 和 session_path 以配置默認的會話標識符。(mturk)
  • 更新: 將 max_packet_size 也用作 TCP 發送和接收緩沖區大小。(mturk)
  • 更新: Apache:如果 mod_jk 只構建為單線程服務器(prefork),則不允許 Apache 以多線程模式啟動。(mturk)
  • 修正: 45812:新增 done() 服務方法,導致 Apache httpd 2.x 發送 EOS 桶。這使得過濾器鏈能夠正常工作。(mturk)
  • 新增: 新增 connection_ping_interval、ping_timeout 和 ping_mode 指令。(mturk)
  • 修正: Apache:在構建模塊時使用由 apxs 提供的正確 ld 標誌。避免了一些 AIX 上對於 httpd 1.3 模塊的崩潰。(rjung)
  • 修正: 文檔:在狀態工作程序中,“val” 屬性的編號需要從 0 開始,而不是 1。(rjung)
  • 更新: 文檔:從 workers common howto 的示例配置中刪除 JNI 參數。(rjung)
  • 修正: 45026:對於 Apache httpd 2.x,如果從後端獲取空白原因短語,則添加“未知原因”作為原因短語。否則,httpd 2.x 會返回狀態 500。(rjung)
  • 修正: 建構:修復 Cygwin 建構。(rjung)
  • 更新: 文檔:向文檔中添加信息,通過 JkEnvVar 發送的變量不會列在 request.getAttributeNames() 中。(rjung)
  • 新增: 为 Apache 2.x 和 IIS 添加守护进程后台线程,执行内部维护(空闲连接检查、后端探测)。參見 JkWatchdogInternal(Apache)和 watchdog_interval(IIS)。 (mturk)
  • 更新: 將某些消息的日誌級別從錯誤更改為信息。(mturk)
  • 修正: 文檔:修正 worker 屬性“secret”的文檔。(rjung)
  • 更新: 通過附加的預處理器定義來檢測各種 Web 服務器的正確插件名稱。(rjung)
  • 修正: LB:如果有打開的通道,則不要將負載平衡器節點置於錯誤狀態。這修復了由於忙碌而導致新連接失敗,從而導致打開的連接失敗粘性的錯誤。這將每個節點的忙碌計數器和每個請求的私有狀態數組帶回來。如果有打開的工作連接,我們可以將狀態標記為錯誤以使故障切換正常工作,同時如果有打開的工作連接,將節點報告為 OK。(mturk)
  • 修正: 44738:修復在虛擬主機之間合併 JkOption ForwardURI*。由 Toshihiro Sasajima 貢獻的修補程式。(rjung)
  • 新增: URI Map:將擴展屬性添加到 uri worker 地圖。允許的屬性有 reply_timeout、active/disabled/stopped 和 fail_on_status。目前僅在 httpd 和 IIS 中實現使用。(rjung+mturk)
  • 修正: URI 地圖:使動態重新加載原子化並且不再需要釋放記憶體。(rjung)
  • 新增: 配置:在新的 --enable-api-compatibility 配置開關下構建時,不使用 post httpd 2.2.0 API 函數。(rjung)
  • 修正: Apache:當虛擬主機中沒有 JkMount 時,JkAutoAlias 無法與 JkMountCopy 組合使用。(rjung)
  • 更新: LB:優化狀態巨集以提高性能。(rjung)
  • 新增: Apache:允許使用環境變數 JK_REPLY_TIMEOUT 動態設置回覆超時時間。(rjung)
  • 新增: 狀態:為 ajp worker 和 ajp lb 成員的 ajp 參數添加可管理性。(rjung)
  • 更新: 狀態:將更新動作的參數名稱更改為與其他參數更容易區分的名稱。(rjung)
  • 新增: 狀態:也為非 lb 成員的 worker 添加 ajp worker 統計信息。(rjung)
  • 更新: AJP:重構工廠,將 ajp13/ajp14 的通用部分移到 ajp_factory 中。(rjung)
  • 更新: 狀態:僅同步更改了值的 worker 的共享記憶體(worker config values)配置值。(rjung)
  • 修正: 狀態:設置 lb_factor 而不是 distance。(rjung)
  • 更新: 狀態:較小的佈局更改,使用下拉菜單而不是多個文本鏈接。(rjung)
  • 更新: SHM:在 lb 和狀態(worker)工作中使用只讀屬性的本地副本。(rjung)
  • 更新: 狀態:添加“dump”操作以轉儲我們的初始配置。(rjung)
  • 更新: 狀態:使用屬性表來決定哪些 cmd 操作使用哪些輸出元素。(rjung)
  • 更新: 共同:將原始配置映射包含在 worker_env 中,以便對 worker(例如狀態(worker) worker)可用。(rjung)
  • 更新: LB:重構用於 httpd 註釋的“route”返回。不使用 worker_record 的成員,因為這不是線程安全的。(rjung)
  • 更新: 通用:重構“重試(retries)”,從服務和jk_worker中移除,改為在ajp worker中移動。 (rjung)
  • 更新: SHM:在shm中為lb和ajp13使用不同的結構。 提高類型安全性並節省一些字節。 (rjung)
  • 更新: SHM:刪除未使用的屬性。 (rjung)
  • 更新: SHM:自動確定所有網頁伺服器的shm大小。 (rjung)
  • 更新: SHM:使所有網頁伺服器的開放/附加記錄一致。 (rjung)
  • 更新: 狀態:在輸出中包含伺服器本地時間。 (rjung)
  • 修復: 44116:修復處理多個JSESSIONID cookies的問題。 (rjung)
  • 修復: 37850:在適當的情況下使用線程安全的localtime_r。 (rjung)
  • 修復: 在更多平台上使用線程安全的strtok_r,尤其是在AIX上。 (rjung)
  • 更新: 狀態:改善XSS硬化。 (rjung)
  • 更新: 35303:將帶有默認值的服務成員的初始化從特定於網頁伺服器的代碼移到我們的通用jk_init_ws_service()函數中。 (rjung)
  • 修復: 36385:在連接後立即添加缺失的prepost CPing/CPong(如果使用prepost CPing,但沒有連接CPing)。 (rjung)
  • 更新: 37322:Apache:增強jk_error_exit()中訊息格式的健壯性。 (rjung)
  • 修復: 44147:多個負載平衡工作程序問題。 (rjung)

1.2.25和1.2.26之間的更改

本地

  • 修復: 42003:分配記憶體,而不是從堆棧中使用固定大小。 (mturk)
  • 修復: 43229:在回覆超時後,負載平衡器不執行故障切換。 (rjung)
  • 修復: JKStatus:修復詳細的Apache httpd版本顯示。 對於httpd版本2.2.4+,這是錯誤的。 (rjung)
  • 更新: LB/AJP:重構jk_connect.c、jk_ajp_common.c、jk_lb_worker.c (rjung)
  • 修復: 配置:修復破損的apxs自動偵測。 (rjung)
  • 更新: 配置:通過新的--disable-trace配置開關從編譯代碼中刪除追踪記錄。 (rjung)
  • 更新: 一般:按照減少(LRU)插槽順序維護閒置連接。(rjung)
  • 更新: Apache:即使未設置 JkRequestLogFormat,也為訪問日誌創建 JK_WORKER_ROUTE 和 JK_REQUEST_DURATION 註釋。(rjung)
  • 更新: JKStatus:增強 Apache httpd 的 URI 到工作程序映射列表。我們現在列出所有虛擬服務器的映射,而不僅僅是 JKStatus 自身所呼叫的那個。(rjung)
  • 更新: JKStatus:增強 URI 到工作程序映射列表。立即更新過期的 uriworkermap.properties。(rjung)
  • 修正: 43873:修復在 httpd 重新啟動期間發生的小型內存泄漏。(rjung)
  • 更新: 一般:在排除規則(即 JkUnMount)中允許 '*' 作為工作程序名,這將覆蓋所有工作程序。(rjung)
  • 修正: 42038:糾正 IIS 的安裝和卸載覆蓋。(rjung)
  • 修正: 43684:在 uriworkermap.properties 文件中將 JkMountFile 替換為 JkMountFileReload 文檔。(rjung)
  • 更新: Apache:為 JkMountCopy 添加新值 "All"。(rjung)
  • 修正: 43516:對於每個重新啟動後沒有 JK 指令的虛擬主機,Apache httpd 模塊每次內存泄漏 8KB 的大小。(rjung)
  • 更新: Apache:清理服務器配置的初始化和銷毀。(rjung)
  • 更新: Apache:從每個服務器配置中移除全局配置項目。(rjung)
  • 更新: Apache:刪除未使用的屬性 secret_key 和 automount/JkAutoMount。(rjung)
  • 更新: jk_uri_worker_map 的清理。(rjung)
  • 更新: 文檔:對 JkShmFile 文檔進行小的添加。由 Gerhardus Geldenhuis 貢獻。(rjung)
  • 修正: AJP13:在接收到響應標頭之前忽略刷新包。(rjung)
  • 修正: 使用工作程序配置繼承(屬性 "reference")和日誌級別 debug 時,修復啟動期間的崩潰。(rjung)
  • 修正: AJP13:將標頭名與預定義的常量完全匹配。避免使用標準標頭名作為前綴的自定義標頭名可能引起的混淆。(rjung)
  • 修正: jkstatus:在 JkStatusUpdateTask 和 JkStatusUpdateLoadbalancerTask ant 任務中修正正確的參數驗證。由 Christian Mittendorf 報告。(pero)

1.2.24 和 1.2.25 之間的更改

本地

  • 更新: IIS:修復 shm 關閉行為。(rjung)
  • 更新: 通用:在負載均衡器中使用的 fail_on_status 現在可以選擇性地在不將失敗的工作程序置於錯誤狀態的情況下進行故障轉移。(rjung)
  • 更新: NSAPI:改進 Unix 的構建描述。(rjung)
  • 更新: NSAPI:添加包含 JK 版本的初始化啟動消息。(rjung)
  • 修復: 通用:將靜態函數聲明為靜態。(jim)
  • 更新: 文檔:澄清 fail_on_status 的行為。(rjung)
  • 修復: 通用:在返回響應標頭之前執行 fail_on_status。(rjung)
  • 更新: NSAPI:修復 shm 關閉行為。(rjung)
  • 更新: NSAPI:即使請求以錯誤結束,也設置返回狀態。(rjung)
  • 更新: NSAPI:允許在 WIN32 和 Netware 上不使用 shm_file。(rjung)
  • 修復: NSAPI:修復了 log level debug 和 unset refect_unsafe 時 nsapi 的崩潰問題。(rjung)
  • 更新: NSAPI:改進了 Solaris 和 Linux Makefiles 以進行 nsapi 構建。(rjung)
  • 修復: 構建:在 Solaris 上 configure 過程中改進了 pid_t 類型檢測。(rjung)
  • 更新: 構建:對 WIN32 和 Netware 上的 gcc 進行實驗性構建支持。(fuankg)
  • 更新: 構建:Apache httpd 1.3/Netware 的 Makefile 優化。(fuankg)
  • 修復: 通用:修復了 1.2.24 中引入的缺失 flush bug。(rjung)

1.2.23 和 1.2.24 之間的更改

本地

  • 更新: 文檔:在參考指南中改進了 workers.properties 的描述。(rjung)
  • 更新: 文檔:添加了關於各種超時的 HowTo。(rjung)
  • 更新: 日誌:若有 gettimeofday(),將毫秒加入預設的時間戳格式。(rjung)
  • 更新: Apache:將毫秒(%Q)和微秒(%q)作為可能的 JkLogStampFormat 轉換格式符號添加。這不使用 strftime(),但需要 gettimeofday()。(rjung)
  • 更新: IIS 和 Sun:若返回代碼為負,也記錄服務失敗。(rjung)
  • 修復: 42849:若 mod_jk 初始化失敗,中止 Apache httpd 1.3 的啟動。對於 Apache httpd 2.x 我們已經做了相同的處理。(rjung)
  • 修復: 42849:若初始化失敗,拒絕與 IIS 運作。而是將返回給用戶 isapi_redirect.dll 500。這是最接近 Apache Httpd 的做法,即在發生致命初始化錯誤時拒絕啟動服務器。(mturk)
  • 修復: 負載平衡器:修復了在 Solaris 上為多線程 Apache MPMs 暴露的 lb worker 死鎖。(rjung)
  • 更新: 日誌:將 LWP ID 處理為 32 位元無符號整數。嘗試使其正常工作,儘管 pthread ID 是不透明的。(rjung)
  • 更新: JkStatus:添加了對 max_reply_timeouts 的操作。(rjung)
  • 更新: LB、狀態:添加了 max_reply_timeouts 功能,使 lb 能夠容忍偶爾運行時間較長的請求。(rjung)
  • 更新: JkStatus:將 OK/IDLE 添加為 N/A 的後繼狀態。(rjung)
  • 更新: 狀態 worker:重新命名運行時狀態。所有狀態都有一個主要狀態(OK 或 ERR)和一個子狀態。將 N/A 更改為 OK/IDLE。在參考指南的狀態 worker 頁面中添加了有關狀態含義的文檔。代碼中沒有添加新的狀態。(rjung)
  • 更新: 通用:為恢復幂等的 HTTP 方法 HEAD 和 GET 添加恢復選項。(rjung)
  • 修復: 修正了工作者屬性 retries 和 recovery_options 的文檔錯誤。(rjung)
  • 修復: 使日誌行和行結束更加原子化。(rjung)
  • 更新: 通用:重構並統一了 jk_map_read_prop* 和 jk_map_load_prop*,以滿足所有用例的需求。(rjung)
  • 更新: 通用/Apache/IIS/Netscape:新增一個選項,以檢查解碼後的 URL 是否包含潛在的惡意結構。(rjung)
  • 更新: IIS:文件化 auth_complete 和 uri_select。(rjung)
  • 更新: Apache/IIS/Netscape:將預設的轉發編碼更改為新的代理方法。(jfclere, rjung)
  • 更新: 通用:在轉發至後端之前,可選地重新編碼 URI。基於 httpd mod_proxy 做的 URI 重新編碼。(jfclere, rjung)
  • 更新: 通用:自動檢測 pid_t 的正確打印格式。這至少修復了 Solaris 上的編譯器警告。(rjung)
  • 修復: 42608:將 Content-length 處理為無符號 64 位元,以允許大型上傳和下載。(rjung)
  • 更新: Apache:將轉發 URI 添加到調試日誌中。(rjung)
  • 更新: 文檔:澄清工作程序名稱與用於負載平衡的 jvmRoute 之間的關係。(rjung)
  • 修復: 將 jk_is_socket_connected 的初始超時設置為零。由於 mod_jk 提供了巨大的性能增加,因此產生的檢測結果相同。在大多數情況下,操作系統不偏好 1 微秒的超時,而是將其增加到更高的值(大多數系統上的中斷計時器的頻率,默認為 100Hz)。由 David McLaughlin 提供的補丁。(mturk)
  • 更新: NSAPI:在啟動期間檢查正確的日誌文件和 shm 文件配置。(rjung)
  • 修復: NSAPI:添加對重試、刷新和連接持久性的一般選項的支持。(rjung)
  • 修復: NSAPI:修復由於在 workers.properties 中使用 mount 屬性而導致的崩潰。更改了初始化順序。(rjung)
  • 修復: 改進了 libtool 的處理方式以及在 apache 構建期間 configure 腳本使用的 CC 環境變量和實際 CC 之間的不一致性。(rjung)
  • 修復: 始終使用線程支持進行構建,除非在 configure 階段設置了 --enable-prefork 標誌。(rjung)
  • 更新: 對於除 Windows 之外的平台,使用 ap_snprintf.c 中的 snprintf/vsnprintf,這些平台可能在未構建為 Apache httpd 2.x/APR(例如 Sub Web Server)或不使用 configure 的情況下缺乏 snprintf/vsnprintf 實現。 (fuankg)
  • 更新: 從Apache 1.3匯入ap_snprintf()。(fuankg)
  • 修復: 修正啟動期間錯誤的日誌對象清理,至少在iSeries上導致崩潰的問題。(rjung)
  • 更新: 添加jk_stat()和jk_file_exists()作為包裝函數。i5/OS V5R4期望fopen中的文件名為ASCII,但在stat()中需要它們為EBCDIC。(hgomez)
  • 更新: i5/OS(AS/400)V5R4端口,Apache 2.0模塊現在應該使用UTF8。(hgomez)
  • 更新: 文檔:為V5R4和以前版本的i5/OS構建添加注釋。(hgomez)

1.2.22和1.2.23之間的更改

本地

  • 更新: [CVE-2007-0450]和[CVE-2007-1860]:將JkOptions的默認值更改為ForwardURICompatUnparsed。舊的默認值為ForwardURICompat。這應該使Apache httpd和Tomcat之間的URL解釋一致(防止雙重解碼問題)。(rjung)

1.2.21和1.2.22之間的更改

本地

  • 修復: 重構行結尾日誌記錄,使其對所有平台和web服務器都正確。(mturk)
  • 更新: 添加命令行Windows製作文件。(mturk)
  • 更新: 允許fail_on_status指令為多行。(mturk)
  • 修復: 42076:從ForwardCertChain更改為ForwardSSLCertChain,如文檔所述的新選項名稱。(rjung)
  • 修復: 文檔:修正幾個拼寫錯誤,更改幾個表格的格式,修正到新聞頁面的鏈接。(rjung)
  • 修復: 在新的IIS rewrite.properties配置示例文件中為TC 6示例修正正確的URL。(rjung)
  • 修復: 將svn屬性添加到幾個文件中。(rjung)
  • 更新: 在配置示例中的uriworkermap.properties中添加TC 6示例。(rjung)
  • 更新: 允許fail_on_status指令的多個狀態碼。狀態碼可以由空格或逗號字符分隔。(mturk)
  • 更新: IIS。為URL重寫規則添加類似pcre的正則表達式。(mturk)
  • 修復: 41922:Apache 1.3。啟用JkEnvVar。(mturk)
  • 更新: Apache。添加--enable-flock配置參數,以明確編譯支持這些調用的OS的更快flock()系統調用。默認情況下,將使用fcntl系統調用進行鎖定,這略慢一些,但也可以在NFS掛載的卷上工作。(mturk)
  • 修正: 41562:在 ISAPI Redirector 中新增針對從客戶端讀取的除錯日誌。由 Tim Whittington 貢獻。(mturk)
  • 更新: Apache。新增 ForwardSSLCertChain JkOption。由 Patrik Schnellmann 貢獻。(mturk)
  • 修正: IIS。如果沒有映射的工作程序,則不禁止訪問 web-inf 或 meta-inf。這允許在映射上下文之外擁有這些名稱的資源。(mturk)
  • 更新: Apache。使用進程 ID 來創建共享內存名稱,並在退出時刪除共享內存和共享內存鎖文件。(mturk)
  • 修正: IIS。修復 1.2.21 中引入的 Keep-Alive 回退。(mturk)
  • 更新: 刪除在啟動期間對空 init_map 的未使用檢查。(rjung)
  • 修正: 41770:如果未使用 JkWorkersFile,修復啟動錯誤。(rjung)
  • 更新: 在 init_jk() 中使用 JK_TRUE/JK_FALSE 而不是 OK/!OK 作為返回值。(rjung)
  • 更新: 對 apache 啟動日誌消息進行輕微調整(何時使用 STDERR、刪除不推薦的 NOERRNO 標誌、shm 警告以及對默認文件使用警告)。 (rjung)
  • 更新: 用 httpd mpm_query 替換 APR 預編譯器指令以檢測 MPM 纖程。增加關於自動檢測的池大小的調試日誌消息。(rjung)
  • 修正: 使 MMN 檢查更容易理解並更精確一些(針對新的 ap_get_server_banner()/ap_get_server_description())。我們僅對 Apache httpd 2.3 使用新 API。這樣,我們的二進制文件不會與次要版本 2.0 緊密耦合,而且我們也不使用 ap_get_server_banner()。(rjung)
  • 修正: 使用完整描述字符串 ap_get_server_description() 而不是截斷的信息來自 ap_get_server_banner(),因為此信息在內部使用(狀態工作者顯示和 ajp14 後端通信)並且不會發送回常規用戶。(rjung)
  • 修正: 41757:記錄 configure 的 "--enable-prefork" 標誌。(rjung)
  • 更新: 增強解析屬性映射失敗時的日誌消息。(rjung)
  • 修正: 在工作程序初始化期間,更正日誌消息,以防無法解析遠程主機。我們記錄了默認主機名 "localhost" 而不是配置的主機名。(rjung)
  • 修正: 41770:修復問題的第二部分:將 local_worker 和 local_worker_only 添加到不支援的屬性列表中(也不支援),以防止 Web 服務器啟動。(rjung)

1.2.20 和 1.2.21 之間的更改

本地

  • 修正: [CVE-2007-0774]:拒絕服務和關鍵遠端代碼執行漏洞。當 URL 長度超過 4095 個字節時,在 map_uri_to_worker() 中的緩衝區溢出引起的。由 ZDI(www.zerodayintiative.com)報告。請注意,此問題僅影響 Apache Tomcat JK Web 伺服器連接器的 1.2.19 和 1.2.20 版本,而不影響之前的版本。Tomcat 5.5.20 和 Tomcat 4.1.34 在其源代碼包中包含了一個有漏洞的版本。其他版本的 Tomcat 不受影響。
  • 新增: 檢查 worker 參數,如果參數不是有效的參數,則不啟動。(jfclere)
  • 新增: 41439:允許在 Apache 中通過添加 JkStripSession 指令(每個虛擬主機可配置)從靜態內容的 URL 中刪除會話 ID。(mturk)
  • 新增: 更改 JkEnvVar 變量的空默值語義。直到 1.2.19:不允許。在 1.2.20 中:如果在配置中既未設置為非空,也未在運行時設置為空字符串,則將變量發送為空字符串。從 1.2.21 開始:如果配置沒有第二個參數,則只有在運行時設置時才發送變量(即使設置為空字符串)。允許與 Tomcat 訪問日誌中的條件屬性很好地組合。(rjung)
  • 修正: 41610:修正了對缺少 Content-Length 標頭的不正確檢測,從而導致重復標頭。由 Boris Maras 貢獻。(rjung)
  • 修正: 對 SunONE(Netscape/iPlanet)Web 伺服器提供更好的構建支援。(jim)
  • 新增: 如果讀取了重復的映射鍵且不允許,例如在解析 uriworkermap.properties 時,則添加警告。(rjung)
  • 修正: 如果 uriworkermap.properties 具有重復模式,則不要連接工作程序名,而是覆蓋工作程序。(rjung)
  • 修正: 即使在重復情況下,也要記錄棄用消息。(rjung)
  • 修正: uriworkermap.properties:在重新載入 uriworkermap.properties 時,修正了 URL 映射刪除時的 off-by-one 問題。(rjung)
  • 新增: 41439:允許在 IIS 中從靜態內容的 URL 中刪除會話 ID(可配置)。(rjung)
  • 新增: 41333:重構 isapi_plugin 配置讀取。(rjung)
  • 新增: 41332:添加一些額外的 errno 日誌記錄並統一格式。(rjung)
  • 新增: JkStatus:通過將狀態工作者名稱添加到消息中來改進日誌記錄。將恢復工作者操作添加到消息中。(rjung)
  • 新增: JkStatus:重構搜索工作者和子工作者。(rjung)
  • 新增: 41318:添加配置以使狀態工作者用戶名檢查不區分大小寫。(rjung)
  • 新增: JkStatus:將下一個全局維護的預估時間添加到其他 mime 類型並採用 jkstatus ant 任務。(rjung)
  • 新增: JkStatus:顯示下一個全局維護的預估時間。將顯示的下一個恢復時間更改為一對最小/最大。(rjung)
  • 新增: JkStatus:允許讀/寫狀態工作者的用戶暫時將其切換到和從唯讀模式。(rjung)
  • 修復: JkStatus:不要在唯讀狀態工作者中顯示讀/寫命令。(rjung)
  • 新增: JkStatus:允許處於錯誤狀態的 lb 子工作者從狀態工作者中進行管理性恢復。(rjung)
  • 新增: 負載均衡器:不要嘗試並行恢復多次。使用額外的運行時狀態 "PROBE" 和 "FORCED"。(rjung)
  • 修復: JkStatus:改善不同進程之間的數據同步。(rjung)
  • 修復: 41381:修復功能 fail_on_status 中的段錯誤(日誌參數順序錯誤)。Juri Haberland 提供的修補程式。(rjung)
  • 修復: 在 WIN32 平台上使用正確的 Windows 行結尾來記錄檔案。(rjung)

1.2.19 和 1.2.20 之間的更改

本地

  • 新增: JkStatus Ant Task 文檔頁面。(pero/rjung)
  • 新增: JkStatus Ant Tasks:添加用於更新和重置的新任務。(pero)
  • 更新: JkStatus Ant Tasks:更新以適應新的 xml 狀態格式。(pero)
  • 更新: 在狀態工作者更新操作中允許設置列舉/布林屬性時使用整數和字符串值。(rjung)
  • 新增: 文檔:狀態工作者的新參考指南頁面。(rjung)
  • 更新: 文檔:將配置目錄重命名為參考並在文檔中使用標題「參考指南」。(rjung)
  • 更新: 為工作者指示增加了 retry_on_status。(mturk)
  • 更新: 狀態工作者:添加指令以使屬性前綴和好/壞規則可配置。(rjung)
  • 更新: 狀態工作者:當 att=nosw 時省略 lb 成員。(rjung)
  • 更新: 狀態工作者:新命令 cmd=version 以獲得簡短版本輸出。(rjung)
  • 更新: 狀態工作者:新輸出 stype mime=prop 生成屬性列表。(rjung)
  • 修復: Apache:修復了多次設置 Vars 時對 JkEnvVar 的處理不正確的問題。(rjung)
  • 更新: 將 jvm_route 重命名為 route。對 jvm_route 做了棄用處理,但在解析工作者配置時仍然使用它作為後備。(rjung)
  • 更新: IIS:使 uriworkermap 文件重新加載檢查間隔可配置。(mturk)
  • 更新: Apache:使 uriworkermap 文件重新加載檢查間隔可配置。(rjung)
  • 更新: 狀態工作者:添加了自定義 XML 輸出的指令(ns、xmlns、doctype)。(mturk)
  • 新增: 文檔:uriworkermap 的描述新頁面。(rjung)
  • 更新: 文檔:將 max_packet_size 的簡短描述添加到工作者參考中。(rjung)
  • 更新: 狀態工作者:所有功能對 xml 和 txt mime 類型也可訪問(list、show、update、reset)。(rjung)
  • 更新: 狀態工作者:為負載均衡器添加了新的全局健康指標:bad(錯誤、恢復中或已停止)、degraded(繁忙或已禁用)和 good(其餘,活動和 OK 或 N/A)。(rjung)
  • 更新: 狀態工作程序:新增編輯頁面,以更改負載平衡器的所有成員的一個屬性。 (rjung)
  • 更新: 狀態工作程序:狀態工作程序的標準記錄。 (rjung)
  • 更新: 狀態工作程序:代碼重構。 (rjung)
  • 更新: 狀態工作程序:新增屬性用戶(列表)拒絕訪問,如果請求的用戶在遠端用戶的意義上不在此列表中。空列表=不拒絕 (rjung)
  • 更新: 狀態工作程序:新增屬性 read_only,禁用更改狀態和配置的狀態工作程序的部分。 (rjung)
  • 修復: 36121:在 mod_jk 服務包含的 URI 時,不要更改主 URI。 (markt)
  • 更新: Apache VHosts:合併 JkOptions +base - -base ++vhost - -vhost。 (rjung)
  • 更新: Apache 文檔:在 Apache 配置文檔中添加要求、上下文信息、默認值和繼承規則。 (rjung)
  • 更新: 狀態工作程序:將源類型添加到狀態工作程序,並在映射列表中刪除冗餘的“上下文”列(上下文= URI)。 (rjung)
  • 更新: uriworkermap:在重新加載文件時,先刪除前一文件版本中的所有舊條目,然後再讀取新條目。 (rjung)
  • 修復: 在內部保持常規映射和排除映射分開。在添加規則時不將它們視為相同。 (rjung)
  • 更新: 狀態工作程序:也為非負載平衡工作程序顯示映射規則,並在全局視圖中顯示。 (rjung)
  • 更新: Apache VHosts:使用虛擬主機日誌文件,而不是主日誌。 (rjung)
  • 更新: Apache VHosts:通過重構格式化方法,允許單獨的時間戳格式。 (rjung)
  • 更新: Apache VHosts:將所有缺失的配置項添加到虛擬主機級別。不要覆蓋全局服務器中的設置,而是在虛擬主機中繼承它們,如果它們在虛擬主機中未設置。 (rjung)
  • 更新: Apache:從日誌消息中刪除不必要的函數名稱。 (rjung)
  • 更新: Apache:添加默認日誌文件位置並添加一條消息,如果使用默認位置。 (rjung)
  • 更新: Apache:添加缺失的JK_IS_DEBUG_LEVEL()(rjung)
  • 更新: Apache虚拟主机:只允许在全局虚拟服务器中使用JkWorkersFile、JKWorkerProperty、JkShmFile和JkShmFileSize。(rjung)
  • 更新: 添加更多的jk_close_socket()并减少一些信息消息的日志级别。(rjung)
  • 更新: 负载均衡器:添加了会话策略。由Takayuki Kaneko贡献。(rjung)
  • 更新: 文档:进行了小的增强,并与更近期的版本同步。(rjung)
  • 修复: 40997:在检查uriworkermap重新加载时,将uri映射与其'!'对应项分开。(rjung)
  • 修复: 40877:确保在多个网页服务器子进程附加时重置共享内存。(mturk)
  • 更新: IIS:添加shm_size属性以处理超过64个工作进程的配置。(mturk)
  • 更新: IIS:将默认线程计数增加到250,以使其与Apache Httpd默认配置相同。(mturk)
  • 修复: 40966:修复Windows上的套接字描述符检查。(mturk)
  • 修复: 40965:初始化丢失的服务参数。(mturk)
  • 修复: 40938:修复重写映射的释放。感谢Chris Adams发现了这个问题。(mturk)
  • 更新: Apache:添加+FlushHeader JkOptions。(mturk)
  • 更新: 当AJP体数据包大小为零时,添加显式刷新。(mturk)
  • 修复: 40856:修复URL映射中的大小写敏感性错误。(rjung)
  • 修正: 40793:文件改善:由Paul Charles Leddy提供的Apache HowTo文件改進。(markt)
  • 修正: 40774:修正錯誤的遞歸終止。這個錯誤意外地將“參考”功能限制為20個工作程序。(rjung)
  • 修正: 40716:將“參考”功能添加到IIS和Netscape。(rjung)
  • 修正: 文件:在JK_WORKER_NAME示例中更正了SetEnvIf語法。(rjung)
  • 修正: 文件:在Apache中添加了遺漏的STATE和ACTIVATION注釋以進行負載平衡器記錄。(rjung)
  • 更新: Apache:使用instdso.sh而不是libtool:例如,libtool在HP-UX上不起作用。(jfclere)

版本1.2.18和1.2.19之間的更改

本地

  • 更新: 文檔:將SetHandler和新的環境變量添加到Apache配置文檔中。(rjung)
  • 更新: Apache 1.3:回溯“no-jk”功能。(rjung)
  • 更新: Apache:添加一個環境變量以使SetHandler“jakarta-servlet”更有用。該變量是JK_WORKER_NAME,但可以通過新的指令JkWorkerIndicator更改。(rjung)
  • 修正: LB:如果單個工作程序被禁用,則不要使用單個工作程序快捷方式。(rjung)
  • 修正: 狀態工作者:在圖例中添加激活和錯誤狀態的簡短說明。(rjung)
  • 修正: 文檔:添加了對workers.properties中各種超時值的零超時值的含義。(rjung)
  • 修正: LB:清理Mladens強制恢復。(rjung)
  • 修正: LB:如果我們使用BUSYNESS方法,則不要將恢復的工作程序的lb_value更改為max。(rjung)
  • 修正: Apache:自1.2.14以來,mod_jk無法檢測客戶端中止。(rjung)
  • 修正: 文檔:更正了JkEnvVar的描述。(rjung)
  • 修正: Solaris:在配置中檢測filio.h以使新連接檢測構建在solaris上(r432825)。 (rjung)
  • 更新: 新增功能以強制恢復屬於負載平衡器的工作程序,如果所有成員處於錯誤狀態。這修復了當恢復超時導致返回503,儘管後端準備好處理請求的時間差。(mturk)
  • 更新: 文件:將已棄用的指令分離到它們自己的表格中。(rjung)
  • 更新: 文件:允許在工作程序名稱中使用"-"和"_"。(rjung)
  • 更新: 允許具有屬性"balance_workers"和"mount"的多行。(rjung)
  • 修復: 使jk_is_some_property更精確地匹配。(rjung)
  • 更新: JkStatus:使刷新間隔可變更。(rjung)
  • 修復: JkStatus:調整恢復時間的顯示,關於全局維護。(rjung)
  • 更新: LB:如果工作程序閒置時間過長,將工作程序的狀態從OK重置為NA。(rjung)
  • 修復: 避免編譯器警告,關於使用lb_*_type數組。改用函數代替。(rjung)
  • 更新: 添加%R JkRequestLogFormat選項,適用於Apache 1和Apache 2。(mturk)
  • 更新: 允許從狀態管理器更改jvm Route。(mturk)
  • 修復: 如果Tomcat在post請求的中間失敗,不要返回400。改為返回500。(mturk)
  • 更新: LB:將ok/error/recovering/busy運行時狀態組合成單個標量。(rjung)
  • 更新: LB:將active/disabled/stopped配置狀態組合成單個標量。(rjung)
  • 更新: LB:添加幾個Apache注意事項,以啟用負載平衡器結果的標準日誌記錄。(rjung)
  • 更新: LB:重新組織主負載平衡器服務循環。(rjung)
  • 更新: 通過屬性"reference"實現分層工作程序配置。(rjung)
  • 更新: 記錄已棄用的屬性。(rjung)
  • 修復: IIS:修復simple_rewrite,用於重新編寫的URL大於原始URL的情況。(mturk)
  • 更新: 新JkOption"DisableReuse",用於禁用連接持久性。(jim)
  • 更新: LB:將sessionid檢索移出get_most_suitable_worker到service中。(rjung)
  • 更新: 對所有服務方法進行代碼清理(使用TRACE、JK_LOG_NULL_PARAMS、空指針檢查)。(rjung)
  • 更新: JKSTATUS:添加刷新鏈接。更新時不刷新。更新後重定向到列表視圖。(rjung)
  • 更新: 將新的鉤子 add_log_items 添加到服務器中。(rjung)
  • 更新: APACHE httpd:重命名apache日誌筆記。(rjung)
  • 更新: LB:重命名鎖定和方法常量。添加默認值的常量。(rjung)
  • 修復: 默認日誌級別應為INFO而不是DEBUG。所有服務器類型的默認日誌級別應相同。(rjung)
  • 修復: 將rewrite_rule_map和log_level設置為對isapi_redirect不是必需的指令。(mturk)
  • 修復: 40107:重寫is_socket_connected函數。不再使用非阻塞套接字。(mturk)
  • 更新: 允許在不引起太多警告的情況下使用VS2005進行構建。(mturk)
  • 修復: 根據MMN決定應使用哪個管道日誌API。mod_jk 1.2.18在Apache 1.3 pre 1.3.28上破壞了編譯。(rjung)

1.2.17和1.2.18之間的更改

本地

  • 修復: 在getsockopt中使用socklen_t。同時引入jk_sock_t。(mturk)
  • 更新: 允許恢復等待時間低於60秒(新的最小值為1秒)。 (mturk)

1.2.16和JK 1.2.17之間的更改

本地

  • 修復: 修復當某些屬性由於雙重鎖定而被更新時掛起的jk狀態工作者。(rjung)
  • 更新: 允許JkMount像uriworkermap.properties一樣行為,通過解析管道符號作為兩個指令標記。(mturk)

1.2.15和JK 1.2.16之間的更改

本地

  • 更新: 為 IIS 添加了簡單的重寫功能。儘管簡單,但能滿足大多數需求。(mturk)
  • 更新: 添加了 RECOVER_ABORT_IF_CLIENTERROR 恢復選項,當客戶端連接在請求期間中斷時,將關閉連接。(mturk)
  • 更新: 將 cache_timeout 指令重命名為 connection_pool_timeout。(mturk)
  • 更新: 添加了 connection_pool_minsize 指令。(mturk)
  • 更新: 廢棄了 recycle_timeout 指令。(mturk)
  • 更新: 修正了狀態工作程序輸出中的一些 HTML 語法錯誤。(rjung)
  • 更新: 將 refresh=n 參數添加到狀態工作程序中。它將每 n 秒更新一次顯示。(rjung)
  • 更新: 平衡器:將 distance 屬性添加到平衡工作者以表示對工作者的偏好。(rjung)
  • 更新: 平衡器:將 jvm_route 屬性添加到平衡工作者中,以能夠在不同的平衡器中使用相同的目標。(rjung)
  • 更新: 狀態:在狀態中添加 lb_mult。(rjung)
  • 更新: 平衡器:使不同的平衡策略以類似的方式工作(使用 lb_value,在全局維護期間使用衰減,使用整數因子 lb_mult 來權重)。(rjung)
  • 更新: 平衡器:改進鎖定機制。(rjung)
  • 更新: 平衡器:在恢復後工作者啟動速度較慢。(rjung)
  • 更新: 平衡器:使不同的平衡策略以類似的方式工作(使用 lb_value,在全局維護期間使用衰減,使用整數因子 lb_mult 來權重)。(rjung)
  • 更新: 平衡器:將恢復檢查移至全局維護。(rjung)
  • 更新: 平衡器:添加全局維護方法,僅在一個進程中調用。(rjung)
  • 更新: 擴展我們對 autoconf 的使用,以找到 32 位和 64 位無符號類型及其 printf 格式。(rjung)
  • 更新: 日誌記錄:為 JkLogFile 和 Apache 1.3 添加管道記錄器。 (rjung)
  • 更新: 日誌記錄:除了 REQUEST 外,將 PID 添加到每個日誌級別的日誌行中。 (rjung)
  • 更新: 日誌記錄:刷新緩衝日誌以保持正確的順序。將最終換行符與日誌消息一起輸出。 (rjung)
  • 更新: 減少 shm 大小。 (rjung)
  • 更新: 只有在實際執行時才記錄刪除舊工作程序。 (rjung)
  • 修正: 37469: 修復 forked 子進程的共享內存關閉。共享內存將由父進程關閉。 (mturk)
  • 修正: 37332: 修復 snprintf 函數可能的緩衝區長度誤用。 (mturk)
  • 修正: 38859: [CVE-2006-7197] 保護 mod_jk 免受後端中的錯誤或惡意的 AJP 伺服器。由 Ruediger Pluem 提供補丁。 (mturk)
  • 修正: 38889: 根據路徑元素使用工作程序映射排序,以符合 Servlet 規範。由 Steve Revilak 提供補丁。 (mturk)
  • 更新: 36138: 添加忙碌的 lb 方法。由 Chris Lamprecht 提供補丁。 (mturk)
  • 修正: 修復悲觀的鎖定模式。該補丁通過同步對共享內存數據的訪問,正確處理突發負載。 (mturk)
  • 修正: 38806: 即使被禁用,也要回收工作程序。這修復了處於錯誤狀態的熱備份工作程序。 (mturk)
  • 修正: 37167: 允許使用類似 BSD 的 make 進行構建。 (mturk)
  • 修正: ISAPI 插件(isapi_redirect.dll)未提供正確的請求數據,供 IIS 包含在 IIS 日誌中。 (markt)

1.2.14 和 1.2.15 之間的變更

本地

  • 修復: 修復 AJP13 Cookie2 解析。Cookie2 總是作為 Cookie 發送。由 Andre Gebers 提供補丁。(mturk)
  • 修復: 35862:NSAPI 插件嘗試讀取已釋放的內存並嘗試解引用空指針。由 Brian Kavanagh 提供補丁。(markt)

1.2.13 到 1.2.14 之間的更改

本地

  • 修復: 修復對於將 cachesize 設置為小於 ThreadsPerChild 的 worker mpm 的 lb。如果 retries 設置為大於 3 的值,則在每次嘗試時休眠 100 毫秒。這使得可以調整連接緩存,並且在連接數大於 cachesize 時將傳入連接串行化,而不是返回繁忙。(mturk)
  • 修復: 36525:Solaris 核心轉儲。(mturk)
  • 修復: 36102:Worker 操作不會持久化。(mturk)
  • 修復: 35864:Status worker 不列出 workers。由 Martin Goldhahn 提供補丁。(mturk)
  • 修復: 35809:JkMountCopy 在 Apache 2.0 上不起作用。由 Christophe Dubach 提供補丁。(mturk)
  • 修復: 35298:單個 IIS 網站上不支持多個 JK/ISAPI 重定向器。由 Tim Whittington 提供補丁。(mturk)

1.2.12 到 1.2.13 之間的更改

本地

  • 修復: 34397:緊急情況被處理為錯誤。(jfclere)
  • 修復: 34474:在 URL 中的 // 被 Apache-1.3 錯誤處理。(jfclere)
  • 修復: 使用 64 位整數傳輸/讀取字節。
  • 更新: 添加了 JkOptions +FlushPackets 用於在發送大數據時優化內存使用。 (mturk)
  • 更新: 為負載均衡器添加了 lock 指令,以在突發負載情況下實現更準確的負載均衡。 (mturk)
  • 更新: 添加了 worker.maintain 指令,允許自定義默認的 10 秒超時。在繁忙的服務器上,需要將此值設置為更高的值。 (mturk)
  • 修復: 修復 NetWare 編譯器與 AP13 和 AP2 SDK 之間的不同類型的處理。 (fuankg)
  • 更新: 對於 WIN32,發出更可讀的 user.dmp 崩潰分析輸出。 (wrowe)
  • 修正: 34558:修復第一個故障轉移請求。(mturk)

1.2.11 與 1.2.12 之間的變更

本地

  • 更新:新增 ForwardLocalAddress JkOptions 標誌,以傳遞本地而非遠程地址。對於遠程地址閥門很有用。(mturk)
  • 修正:修正當停止標誌設置為true時,工作程序未被使用的問題。(pero)
  • 更新:將負載平衡默認工作程序密鑰屬性添加到文檔中(pero)

1.2.10 與 1.2.11 之間的變更

本地

  • 修正:從 JK2 中反向移植 SC_M_JK_STORED,以傳遞任意方法而不是使請求失敗。(mturk)
  • 修正:添加遺漏的 SEARCH 和 ACL HTTP 方法。(mturk)
  • 更新:將工作程序密鑰屬性添加到文檔中(pero)
  • 更新:將停止標誌添加到工作程序配置中。將標誌設置為true,則停止對工作程序的所有流量。還在 Tomcat 5.5.10 版本中更新 Ant JkStatusUpdateTask。僅在複製的會話集群中有用。(pero)
  • 更新:添加工作程序維護功能,將維護所有工作程序而不僅僅是當前工作程序。這使得可以在所有工作程序上循環使用連接。(mturk)
  • 更新:在回收連接時使用關閉而不是硬性中斷套接字。(mturk)
  • 更新:添加唯一指令檢查。現在,如果唯一,則指令將被覆蓋而不是串聯。(mturk)
  • 更新:允許多個 worker.list 指令。(mturk)
  • 修正: 34577:對於 IIS 日誌原始請求而不是記錄 ISAPI 擴展的請求。(mturk)
  • 修正: 34558:確保 ajp 和 lb 工作程序的返回狀態碼相同。(mturk)
  • 修正: 34423:在像 FreeBSD 這樣的平台上使用 APR_USE_FLOCK_SERIALIZE 設置日誌鎖。由 Allan Saddi 提供補丁。(mturk)
  • 修正: 33843:修復獲取用於構建 Apache HTTPD 的 LDFLAGS。由 Beat Kneubuehl 提供補丁。(mturk)
  • 修正: 34358:啟用負載平衡器方法配置。(glenn)
  • 修正: 34357:在某些情況下,當使用 JkAutoAlias 指令時,Apache 2 mod_jk 可能會崩潰。(glenn)
  • 更新: 在文件中添加 --enable-prefork 的文檔(pero)
  • 更新: 更新 tomcat_trend.pl 以符合新的錯誤日誌字符串格式(glenn)

1.2.8 和 1.2.10 之間的更改

本地

  • 更新: 將默認共享內存設置為 64K,而不是 1M(mturk)
  • 修復: 如果標題超過 AJP13 限制,則不將工作程序標記為錯誤狀態(mturk)
  • 更新: 在 iSeries 上,您應該使用 Apache 2.0 的最新 PTF(現在是 2.0.52),以及至少包含 SI17402/SI17061 或包含它們的累積修補程式(hgomez)
  • 更新: 將 xml 狀態格式更改為 xml 屬性語法(pero)
  • 修復: 33248:修復當 apxs 定義多個目錄用於 APR 包含時的構建問題(mturk)
  • 修復: 32696:當 WEB-INF 被請求時返回 404,而不是 403,以符合 Servlet 規範(mturk)
  • 更新: 添加用於管理 jkstatus 的 ANT 任務(pero)
  • 更新: 如果設置了 socket_timeout,則在向 Tomcat 發送任何請求之前檢查套接字是否存活(mturk)
  • 更新: 為 Apache Web 服務器添加 JkMountFile。此文件可以包含形式為 (/url=worker) 的 URI 映射,並且會定期每 60 秒檢查更新(mturk)
  • 更新: 添加用於使用網頁管理工作程序運行時數據的狀態工作程序(mturk)
  • 更新: 添加用於設置用於平衡工作程序的算法的負載均衡器方法指令。方法可以是 Request(默認值)或 Traffic(mturk)
  • 更新: 添加共享內存以允許動態配置。僅對 Unix 平台和具有多個子進程的 Web 服務器需要共享內存。對於 Apache Web 服務器,添加了兩個新的指令(JkShmFile 和 JkShmSize)(mturk)
  • 更新: 將 textupdate 模式添加到狀態工作程序以處理來自 ANT 任務的遠程更新(pero)
  • 修復: 33562:修復 Reply_timeout 當 recovery_options 大於 1 時的問題。由 Takashi Satou 提供的補丁(mturk)
  • 修復: 33308:修復啟用 ForwardDirectories 時在 Apache 1.3 中出現段錯誤的問題

1.2.7 與 1.2.8 之間的變更

本地

  • 更新: 允許任何人使用 windbg 或任何其他調試工具來調試和診斷堆棧轉儲,並且(如果他們將 .pdb 文件添加到其安裝中)使得 dr watson 日誌變得有意義。由 William A. Rowe(wrowe)提供補丁。
  • 修復: 通過使用真實的結構並忽略 typedef 修復 in_addr_t 的使用。由 William A. Rowe(wrowe)提供補丁。
  • 修復: 通過還原從中刪除 jsessionid 的原位 URI 修復 URL 重寫。(mturk)
  • 更新: 通過為負載均衡器工作程序引入互斥鎖使負載均衡器算法線程安全。 (mturk)
  • 修復: 通過使用正確的 API 函數調用為 IIS 發送錯誤頁面到客戶端並添加 Content-Type 標頭修復發送錯誤頁面的問題。 (mturk)
  • 修復: 32696:防止當請求 web-inf URL 時 IIS 崩潰。(mturk)
  • 更新: 對於支持發現每個子進程的線程數的服務器使用默認的緩存大小。 (mturk)
  • 修復: 使用不區分大小寫的比較修復 Apache content-length 標頭解析問題。 (billbarker)
  • 修復: 使用不區分大小寫的比較修復解析 AJP 標頭的問題。 (mturk)
  • 修復: 如果 socket_timeout 設置為零或小於零,則使用無限套接字超時。 (mturk)
  • 更新:balanced_workers 更改為 balance_workers,但保留舊指令以保持向後兼容性。 (mturk)
  • 修復: 修復對緩存大小設置為零的工作者的 ajp 初始化。(mturk)
  • 更新: 32317:使 mod_jk 具有複制意識(集群支持)。由 Rainer Jung 提供補丁。 (mturk)
  • 修復: 31132:當 conf 中缺少 JkLogFile 時出現核心轉儲。(mturk)

1.2.6 與 1.2.7 之間的變更

本地

  • 更新: 添加了一個名為 recover_time 的新屬性,可以用來更改默認的 60 秒恢復時間。(mturk)
  • 更新: 為工作程序新增自定義重試,這樣我們就不依賴於默認設置。如果設置為大於3的數字,則在重試大於3次時會睡眠100毫秒,然後再嘗試一次。(mturk)
  • 更新: 添加了JkWorkerProperty指令,可以省略workers.properties文件。例如:JkWorkerProperty worker.ajp13a.port=8009。(mturk)
  • 修正: 檢查所有JSESSIONID cookie以確定有效的jvmRoute。如果您有多個具有重疊域的Tomcat,則可能會獲得多個未定義順序的cookie。只要不同的域名沒有共同的Tomcat,這將正確路由。(billbarker)
  • 更新: 添加了JkUnMount指令,用於負映射,與JkMount指令相反。它用於阻止特定URL或內容類型。(mturk)
  • 更新: 添加了通配符匹配URI映射。現在可以使用JkMount來映射/app/*/servlet/*或/app?/*/*.jsp。(mturk)
  • 更新: 通過添加跟踪選項來重寫日誌。(mturk)
  • 更新: 添加了socket_timeout屬性,該屬性設置套接字本身的超時。(mturk)
  • 修正: 將socket_timeout屬性更改為recycle_timeout。這更好地解釋了該指令的實際功能。(mturk)
  • 修正: 更改了負載均衡器算法。這個新調度程序背後的想法是:lbfactor是我們期望這個工作者工作的量,或者工作者的工作配額。lbstatus是這個工作者為實現其工作配額而急需工作的程度。我們將每個工作者的工作配額分配給工作者,然後查看哪些工作者最急需工作(最大的lbstatus)。然後選擇這個工作者進行工作,並將其lbstatus減去我們分配給所有工作者的總工作配額。因此,所有lbstatus的總和不會改變。(*) 如果有些工作者被禁用,其他工作者仍將被正確調度。(mturk)
  • 修正: 修正了iis重定向器,在每個請求中找到.properties文件的問題。(mturk)
  • 修正: 開始修復64/32位兼容性問題。(mturk)

1.2.5與1.2.6之間的更改

本地

  • 修正: 在LB模式中修復POST恢復問題。(hgomez)
  • 添加: 添加CPING/CPONG支持,以避免挂起的Tomcats問題。(hgomez)
  • 更新: 使LB中的POST恢復可配置。(hgomez)
  • 更新: 更新到 Apache License 2.0。(hgomez)
  • 新增: 對於 Apache 2.0,當環境變數 no-jk 存在時,mod_jk 不處理請求(拒絕),因此即使 URL 匹配,也不會將請求轉發到 Tomcat。例如,可與 SetEnvIf 或 BrowserMatch 指令一起使用,以排除某些 URL/URI 或瀏覽器(hgomez)。
  • 修復: 為 iSeries(AS/400)添加一個修復程序,該修復程序使用 XOPEN/Unix98 APIs,並在調用 connect() 時需要設置 sa_len,這將解決 jk_connect 中的錯誤 EINVAL。(hgomez)

1.2.4 和 1.2.5 之間的更改

本地

  • 修復: 修復映射 URI 時的線程安全 bug。(billbarker)
  • 修復: 修復當使用 mod_jk 與 Apache 2 和 worker MPM 時解析工作程序主機名的線程安全 bug。(hgomez)
  • 修復: 當所有負載平衡工作程序的連接失敗時,刪除一條不必要的錯誤消息。(glenn)
  • 修復: 當 mod_jk 無法連接到工作程序時,在錯誤消息中包含工作程序的名稱。當您使用負載平衡工作程序時,這將特別有幫助。(glenn)
  • 修復: 修復了 Apache 2 中 mod_jk.log 被多次打開的問題。只能配置一個 mod_jk.log。(glenn)
  • 修復: 修復 Apache 2 連接器,使得如果配置了 JkOptions ForwardDirectories,DirectoryIndex 對於 index.jsp 頁面也能正常工作。(hgomez)
  • 修復: 修復當在 Apache 1.3 和 Apache 2.0 連接器中請求了 //path/to.jsp URL 時,JSP 源代碼暴露的問題。(billbarker)

1.2.3 和 1.2.4 之間的更改

本地

  • 新增: 修復了在使用較新版本的 Apache 2 構建 Apache mod_jk 時使用 libtool 的問題。(jfclere)
  • 修復: 對於使用線程的 Web 服務器,使用 strtok() 的可重入版本。這解決了 Apache 2 和 worker MPM 下的一個線程安全 bug。(glenn)
  • 修復: 修復了 Apache 2 mod_jk 鉤子優先級,以便 mod_jk 能夠與 mod_alias 和 mod_dir 都能很好地配合。(glenn)

1.2.2 和 1.2.3 之間的更改

本地

  • 新增: 添加了配置 JkLog 將其日誌輸出管道化到可執行文件(例如 Apache rotatelogs 或 cronolog)的功能。僅適用於 Apache 2.0。(glenn)
  • 新增: 將 JkAutoAlias 加入 Apache 2.0。(格倫)
  • 更新: Apache 2/1.3,如果 Tomcat 返回錯誤但不返回內容,則由 Apache 處理 Tomcat 返回的錯誤。(格倫)
  • 新增: 新增了負載平衡器 sticky_session 屬性。如果設置為 0,帶有 servlet SESSION ID 的請求可以路由到任何 Tomcat 工作程序。默認值為 1,會話是黏性的。(格倫)
  • 修正: 清理檢測和報告中斷的客戶端連接。此清理還確保如果遠程客戶端中斷其連接,mod_jk 不會將任何請求傳遞給 Tomcat。(格倫)
  • 修正: 修復了 Apache 2.0 中的一個錯誤,該錯誤導致傳遞給 Tomcat 的 POST 請求失敗,如果它生成了被 mod_include 後處理的 SSI 指令。(格倫)
  • 修正: 修復了 JkRequestLogFormat 中打印請求 URI 時可能導致具有十六進制轉義序列的 URI 格式錯誤的錯誤。(格倫)

1.2.1 和 1.2.2 之間的變更

本地

  • 更新: tomcat_trend.pl 更新的腳本以支持中斷請求的更改日誌記錄。(格倫)
  • 修正: jk 正確地在 Apache 2.0 中設置了 content-type,使其能夠與 mod_deflate 和 AddOutputFilterByType 一起使用。(hgomez)
  • 修正: jk 將檢查 get_endpoint 的結果並處理失敗。如果由於內存不足的情況導致分配端點失敗,則此調用可能會失敗,從而在我們嘗試訪問端點時導致對 NULL 的解引用。(mmanders)

1.2.0 和 1.2.1 之間的變更

本地

  • 修正: 14282:不要為分塊編碼發送初始塊。(costin)
  • 新增: 添加用於分析 mod_jk 日誌並生成圖形/報告的 Perl 腳本。(格倫)
  • 修正: 使 JK 遵守 CanonicalHost 指令。(hgomez)
  • 修正:日誌清理。(costin)
  • 修正:修正 jk xdocs/docs 中的拼字錯誤。(hgomez)
  • 修正:將 JkRequestLogFormat 新增至 Apache 2.0。(hgomez)
  • 修正:最後的補丁,使 JK 符合 iSeries 的規範。(hgomez)

JK 2

JK2 已進入維護模式,不再進行進一步的開發。終止 JK2 開發的原因是缺乏開發者的興趣。另一個原因是,與 JK 相比,JK2 的配置複雜度導致缺乏使用者的興趣。