我正在使用带有 Apache 2.2.22 modproxy 的 Tomcat 7.0.29。
在 httpd.conf 中将 Ajp 配置为协议(protocol),在 server.xml 中配置 AjpNioProtocol。
服务器启动后,日志中充满以下消息:
Severe: Invalid message received with signature 20599
com.apache.coyote.ajp.AjpMessage processHeader
没有请求发送到 web 或 tomcat 服务器,它仍然会抛出该错误。 tomcat和apache的访问日志显示没有请求进来。
是什么导致了无效消息错误?
这是配置:
ProxyPass /wl ajp:// ip : port /wl
ProxyPassReverse /wl ajp:// ip : port /wl
<Connector port="port"
protocol="org.apache.coyote.ajp.AjpNioProtocol"
connectionTimeout="20000"
acceptorThreadCount="2"
maxThreads="1600"
redirectPort="8443" />
最佳答案
对我来说,问题很简单。我正在发送 HTTP 请求,但连接器配置了 AJP 协议(protocol)。我在 server.xml
中的连接器配置如下:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
但是当我把它改成这样时:
<Connector port="8009" protocol="HTTP/1.1" redirectPort="8443"/>
错误消失了。
希望这将有助于解决此错误的人。
关于apache2 - 收到带有签名的 Ajp 无效消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11836156/