Apache-2.4

將“秘密”與 AJP 一起使用時,Tomcat 7.0.100 和 Apache 伺服器 2.4 出現錯誤 403

  • May 21, 2021

由於存在 CVE-2020-1938 漏洞,我們希望使用最新的 Tomcat 7.0.100。另見CVE-2020-1938 我們還在 2.4 版中使用 Apache 伺服器,它通過 AJP 連接到 Tomcat。

最新的 Tomcat 版本需要我們為安全通信進行的各種新設置。不幸的是,我們總是收到 HTTP 錯誤 403 並且不知道為什麼。

在 Apache workers.properties 我們有以下設置:

worker.list=okkommwm57f
ps=\
worker.okkommwm57f.type=ajp13
worker.okkommwm57f.host=192.168.181.240
worker.okkommwm57f.secret=123456
worker.okkommwm57f.port=8309
worker.okkommwm57f.socket_keepalive=1
worker.okkommwm57f.connect_timeout=10000  
worker.okkommwm57f.prepost_timeout=10000
worker.okkommwm57f.socket_timeout=10
worker.okkommwm57f.connection_pool_timeout=600

AJP 連接器配置如下所示:

<Connector port="8309" protocol="AJP/1.3" redirectPort="8443" secretRequired="true" secret="123456" address="192.168.181.240" />

當我測試網站時,我不斷收到 HTTP 錯誤 403。我嘗試了不同的版本,但無濟於事。已經將“secretRequired”設置為“false”。也不行。

也許有人有一個想法,可以幫助我解決問題。謝謝你。

我遇到過同樣的問題。

我必須添加allowedRequestAttributesPattern=".*"到連接器

所以在你的情況下

<Connector port="8309" protocol="AJP/1.3" redirectPort="8443" secretRequired="true" secret="123456" address="192.168.181.240" allowedRequestAttributesPattern=".*" />

這是 Tomcat 7.0.100 中添加的新屬性。

將新屬性 allowedRequestAttributesPattern 添加到 AJP/1.3 連接器。具有無法辨識屬性的請求將被 403 阻止。(markt)

雖然我還沒弄清楚我們要發送什麼屬性。但是,如果該設置適用於您的萬用字元,您可能會將屬性作為 AJP 請求的一部分發送,這些屬性無法辨識。

引用自:https://serverfault.com/questions/1005548