tomcat 7.0.100 AJP 连接器与另一台主机上的 mod_jk

tomcat 7.0.100 AJP 连接器与另一台主机上的 mod_jk

将 tomcat7 升级到 7.0.100 后,AJP 连接器仅在 127.0.0.1 上监听。最初,我在 /etc/tomcat7/server.xml 中编辑了错误的 server.xml,该 xml 未使用。至少对我来说,正确的是 /var/lib/tomcat7/conf/server.xml。我添加了以下两个参数:

address="0.0.0.0"
requiredSecret="false"

现在它像以前一样监听所有接口。但是当我尝试使用 mod_jk 访问它时,我得到了 403。嗅探器确认这是来自 AJP 连接器。所以我尝试设置

allowedRequestAttributesPattern=".*"

这并不能解决问题。有什么想法吗?

答案1

尝试这个:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" address="0.0.0.0" allowedRequestAttributesPattern=".*" secretRequired="false" />

https://tomcat.apache.org/tomcat-7.0-doc/changelog.html

7.0.100 中的变更:

requiredSecret将AJP/1.3 连接器的属性重命名为 secret,并添加一个secretRequired默认为 true 的新属性。当 secretRequired 为 true 时,除非将 secret 属性配置为非空、非零长度的字符串,否则 AJP/1.3 连接器将不会启动。(markt)

答案2

当我们在 AJP 上设置密码时,403 错误就消失了。因此,在 server.xml 部分中,我们输入:

<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" secret="verysecure" secretRequired="true"/>

在 mod_jk 的 worker_properties 中:

worker.tomcat-06.secret=verysecure

相关内容