25

私は、Apache 2.2.22 modproxy を前面に出した Tomcat 7.0.29 を使用しています。httpd.conf でプロトコルとして Ajp を構成し、server.xml で AjpNioProtocol を構成しました。サーバーの起動後、ログには次のメッセージが記録されます。

重大: 署名付きの無効なメッセージを受信しました 20599
com.apache.coyote.ajp.AjpMessage processHeader

Web または Tomcat サーバーに送信されるリクエストはなく、それでもそのエラーがスローされます。tomcat と apache のアクセス ログは、リクエストが来ていないことを示しています。無効なメッセージ エラーの原因は何ですか?

構成は次のとおりです。

  • httpd.conf

    ProxyPass /wl ajp:// ip : port /wl
    ProxyPassReverse /wl ajp:// ip : port /wl
    
  • サーバー.xml

    <Connector port="port" 
               protocol="org.apache.coyote.ajp.AjpNioProtocol" 
               connectionTimeout="20000" 
               acceptorThreadCount="2" 
               maxThreads="1600" 
               redirectPort="8443" />
    
4

5 に答える 5

34

私にとって、問題は単純でした。HTTP リクエストを送信していましたが、コネクタは AJP プロトコルで構成されていました。私のコネクタは次のserver.xmlように構成されていました:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

しかし、私がこれに変更したとき:

<Connector port="8009" protocol="HTTP/1.1" redirectPort="8443"/>

エラーはなくなりました。

うまくいけば、それがこのエラーで誰かを助けるでしょう。

于 2015-02-27T21:27:47.447 に答える
10

これは、バッファー サイズが両端で同じでない場合にも発生する可能性があります。ログに無効な AJP メッセージが記録され、ブラウザーが400エラー コードを受信したことが示されます。

AJPコネクタとApache2構成の両方packetSizeで状況を修正しました。ProxyIOBufferSize

Tomcat でserver.xml:

<Connector protocol="AJP/1.3" port="8009"
   connectionTimeout="20000"
   packetSize="65536"
   proxyName="yourproxy.domain.ltd" proxyPort="80"
   />

Apache2 mod_proxy_ajp 構成で、ステートメントを追加しますProxyIOBufferSize 65536

于 2013-05-30T14:23:45.973 に答える
2

内部プロセスの 1 つがそのポートを呼び出して http 要求を送信し、「無効なメッセージ..」エラーを引き起こしていることが判明しました。そのため、これらの内部プロセス用に追加の http コネクタを追加することになりました

于 2012-08-07T19:49:38.563 に答える
0

今日も同様のメッセージを受け取りました:

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 リマインダーは、ここにたどり着いた他の誰かにとって役立つでしょう。

于 2016-11-18T21:41:56.853 に答える