Apache2 接收到带有签名的Ajp无效消息
我使用的是Tomcat7.0.29和Apache2.2.22ModProxy。 在httpd.conf中将Ajp配置为协议,在server.xml中将AjpNioProtocol配置为协议。 服务器启动后,日志将填充以下消息: 严重:收到签名为20599的无效消息Apache2 接收到带有签名的Ajp无效消息,apache2,tomcat7,mod-proxy,proxypass,Apache2,Tomcat7,Mod Proxy,Proxypass,我使用的是Tomcat7.0.29和Apache2.2.22ModProxy。 在httpd.conf中将Ajp配置为协议,在server.xml中将AjpNioProtocol配置为协议。 服务器启动后,日志将填充以下消息: 严重:收到签名为20599的无效消息 com.apache.coyote.ajp.ajpMessageProcessHeader 没有向web或tomcat服务器发送请求,但它仍然抛出该错误。tomcat和apache中的访问日志显示没有请求传入。 导致无效消息错误的原因
com.apache.coyote.ajp.ajpMessageProcessHeader 没有向web或tomcat服务器发送请求,但它仍然抛出该错误。tomcat和apache中的访问日志显示没有请求传入。 导致无效消息错误的原因是什么 以下是配置:
- httpd.conf
ProxyPass /wl ajp:// ip : port /wl ProxyPassReverse /wl ajp:// ip : port /wl
- server.xml
<Connector port="port" protocol="org.apache.coyote.ajp.AjpNioProtocol" connectionTimeout="20000" acceptorThreadCount="2" maxThreads="1600" redirectPort="8443" />
400
错误代码
我已经修复了在Apache2配置中同时启用packetSize
和ProxyIOBufferSize
的情况
在Tomcatserver.xml中:
<Connector protocol="AJP/1.3" port="8009"
connectionTimeout="20000"
packetSize="65536"
proxyName="yourproxy.domain.ltd" proxyPort="80"
/>
在Apache2中,添加语句ProxyIOBufferSize 65536
对于我来说,问题很简单。我正在发送HTTP请求,但连接器配置了AJP协议。server.xml
中的连接器配置如下:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
但当我把它改成这个:
<Connector port="8009" protocol="HTTP/1.1" redirectPort="8443"/>
错误消失了
希望这将有助于解决此错误。我今天收到了类似的消息:
Nov 18, 2016 4:25:00 PM org.apache.coyote.ajp.AjpMessage processHeader
SEVERE: Invalid message received with signature 65524
我的问题的根本原因是selinux没有让apache连接到tomcat。我有点困惑,这个错误是如何产生的——我希望不会有任何联系。最好的猜测是,我可能试图用telnet手动连接到该端口。这样做肯定会带来类似的信息
不管怎样,也许这个selinux提醒会对最终来到这里的其他人有所帮助
没有向web或tomcat服务器发送请求,但它仍然抛出该错误。tomcat和apache中的访问日志显示没有请求传入。导致无效消息错误的原因是什么
只是给其他人一些提示,因为我在我的一个配置中意外地忘记了相同的内容:server.xml
中提到的连接器
正在全局侦听,因为只指定了端口,没有任何地址。默认情况下,后者定义为全局侦听:
默认情况下,此端口将用于与服务器关联的所有IP地址
因此,如果没有任何额外的防火墙或类似的防火墙,那么坏客户机可能只是使用各种协议测试开放端口,这些协议可能是HTTP,也可能不是HTTP,因此会产生具有不同签名的错误消息。如果没有很好的理由,就不需要让AJP在全球范围内可用,特别是在线程启动程序使用的代理设置的情况下
<Connector address="localhost" port="port"
protocol="org.apache.coyote.ajp.AjpNioProtocol"
connectionTimeout="20000"
acceptorThreadCount="2"
maxThreads="1600"
redirectPort="8443" />
这是server.xml-->您可以提供当前配置来避免这种情况吗?要添加的内容和要从哪个文件中删除的内容默认情况下,在其他端口(如8080)上配置了HTTP连接器。因此,与其使用AJP端口,不如将调用应用程序重新配置为不使用8009和HTTP,而是使用另一个端口,例如8080。这更符合标准惯例。