由于存在 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=".*"
到连接器所以在你的情况下
这是 Tomcat 7.0.100 中添加的新属性。
虽然我还没弄清楚我们要发送什么属性。但是,如果该设置适用于您的通配符,您可能会将属性作为 AJP 请求的一部分发送,这些属性无法识别。
我遇到过同样的问题。诀窍是设置密码。所以以下为我们解决了这个问题:
服务器.xml:
worker.properties: