收到带签名的Ajp无效邮件

Yas*_*ser 22 apache2 mod-proxy proxypass tomcat7

我正在使用Tomcat 7.0.29前面的Apache 2.2.22 modproxy.配置Ajp作为httpd.conf中的协议和server.xml中的AjpNioProtocol.服务器启动后,日志将填充以下消息:

严重:收到签名
20599 com.apache.coyote.ajp.AjpMessage processHeader的消息无效

没有请求发送到Web或tomcat服务器,它仍然会抛出该错误.tomcat和apache中的访问日志显示没有请求进入.导致无效消息错误的原因是什么?

这是配置:

smn*_*ntx 31

对我来说,问题很简单.我正在发送HTTP请求,但连接器配置了AJP协议.我的连接器server.xml配置如下:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
Run Code Online (Sandbox Code Playgroud)

但是当我改变它时:

<Connector port="8009" protocol="HTTP/1.1" redirectPort="8443"/>
Run Code Online (Sandbox Code Playgroud)

错误消失了.

希望这可以帮助有这个错误的人.


Yve*_*tin 10

当缓冲区大小在两端不相同时也可能发生这种情况:日志提到无效的AJP消息和浏览器接收400错误代码.

我有固定与两个情况packetSizeAJP连接器,并ProxyIOBufferSize在Apache2的配置.

在Tomcat中server.xml:

<Connector protocol="AJP/1.3" port="8009"
   connectionTimeout="20000"
   packetSize="65536"
   proxyName="yourproxy.domain.ltd" proxyPort="80"
   />
Run Code Online (Sandbox Code Playgroud)

在Apache2 mod_proxy_ajp配置中,添加语句ProxyIOBufferSize 65536.