• Tomcat报BAD packet signature 18245错误的原因


    今天在启动服务器时,报了一个BAD packet signature 18245错误

    详细错误如下:

      1. 2009-6-5 11:09:11 org.apache.jk.common.MsgAjp processHeader
      2. 严重: BAD packet signature 18245
      3. 2009-6-5 11:09:11 org.apache.jk.common.ChannelSocket processConnection
      4. 严重: Error, processing connection
      5. java.lang.IndexOutOfBoundsException
      6. at java.io.BufferedInputStream.read(BufferedInputStream.java:306)
      7. at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:626)
      8. at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:583)
      9. at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:691)
      10. at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
      11. at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
      12. at java.lang.Thread.run(Thread.java:595)

    这是一个AJP协议处理的包。

    查了一下Tomcat的server.xml中配置文件

      1. <Connector port="8009"
      2. enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

    初步断定,有一些不是AJP协议的请求,请求了这个端口。

    解决方法:

    用端口扫描工具(优化大师,防火墙,ewido等都可以)扫描系统网络连接状态,查看了一下是否有访问8009端口的程序。

    关闭这个程序就OK了。

    我这边是因为IDE自启动IE,访问路径端口被修改成了:http://localhost:8009 把端口修改回了8080端口就OK了。

    参考资料:

     AJP协议

    AJP是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成 socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请 求,在请求处理循环结束之前不会在分配。换句话说,在连接上,请求不是多元的。这个是连接两端的编码变得容易,虽然这导致在一时刻会有很多连接。
      一旦WEB服务器打开了一个到SERVLET容器的连接,连接处于下面的状态:
    ◆ 空闲
    这个连接上没有处理的请求。
    ◆ 已分派
    连接正在处理特定的请求。
      一旦一个连接被分配给一个特定的请求,在连接上发送的基本请求信息是高度压缩的。在这点,SERVLET容器大概准备开始处理请求,当它处理的时候,它能发回下面的信息给WEB服务器:
    ◆ SEND_HEADERS
    发送一组头到浏览器。
    ◆ SEND_BODY_CHUNK
       发送一块主体数据到浏览器。
    ◆ GET_BODY_CHUNK
    从请求获得下一个数据如果还没有全部传输完,如果请求内容的包长度非常大或者长度不确定,这是非常必要的。例如上载文件。注意这和HTTP的块传输没有关联。
    ◆ END_RESPONSE
    结束请求处理循环。

  • 相关阅读:
    机器学习(14)---逻辑回归(含手写公式、推导过程和手写例题)
    Linux C语言无名信号量与有名信号量(无名使用 <semaphore.h>,有名信号量<sys/sem.h>)
    为大家推荐四款特别实用的Windows软件,下了就舍不得卸载
    数据库1(新手易懂,超详细)
    合并后的以太坊变成什么样了?
    CC4分析
    如何安装Node.js? 创建Vue脚手架
    Liunx文件目录操作命令(cd、pwd、ls、mkdir、rmdir)
    uniapp-实现微信授权登录
    D. Game With Array
  • 原文地址:https://blog.csdn.net/oligaga/article/details/132713071