今天在启动服务器时,报了一个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
结束请求处理循环。

Tomcat报BAD packet signature 18245错误的原因的更多相关文章

  1. BAD packet signature 18245 错误解决

    1.错误信息 2014-7-15 2:46:38 org.apache.jk.common.MsgAjp processHeader 严重: BAD packet signature 18245 20 ...

  2. 在eclipse中启动Tomcat报端口被占用的错误

    安装配置好Tomcat之后,在浏览器中输入localhost,能正取打开页面.然后在eclipse中建立项目,创建Servlet之后,启动Tomcat,报端口被占用的错误.如图: 原因:原来已经启动了 ...

  3. springmvc 结合 自动封装异常信息输出为json 报错 500内部服务器错误的原因

    补充:还有一个原因是因为spring的对象没有被成功注入,例如 mapper没有被成功注入,抛出异常时在这种封装场景下将会抛出 500 服务器内部错误, 这种情况下要排查还是靠debug然后看看到底是 ...

  4. tomcat 报错处理

    一.tomcat报错找不到资源集市 原因:tomcat的配置文件sever.xml 里的 docbase配置被Eclispe修改了 解决方法:修改回来 <Context docBase=&quo ...

  5. 【Tomcat】tomcat报连接超时错误

    程序一直报这个错误 [getui-server][ERROR] [2016-03-17 10:50:00] getui.task.HftMongoInfoTask.execute(137) | --H ...

  6. MyEclipse导入Maven项目pom文件第一行报错,运行Tomcat报Log4j错误--解决方法

    问题描述: 前一段时间电脑第一次导入Maven项目,又是pom文件错,改好后又是运行Tomcat报Log4j错误,一直倒腾了近一个月程序才成功跑起来,太不容易. 也上网查了很长时间,没一个方法能解决我 ...

  7. 第一次安装tomcat报错,出现failed to install tomcat8 service错误

    第一次安装tomcat报错,出现failed to install tomcat8 service错误(0) 一.一般情况下这种错误都是没有卸载干净造成的,安全卸载Tomcat的方法 (转载); ht ...

  8. Tomcat报java.io.IOException: Broken pipe错误

    Tomcat报java.io.IOException: Broken pipe错误,如下图: 解决方案:我的原因是因为网络策略导致出现该问题,即网络端口未启用或被限制.

  9. tomcat项目迁移,无法访问,报“404”错误,原因分析

    首先,导出项目文件和MySQL数据库(项目文件直接tar&&cp:数据库直接mysqldump生成sql文件) 再,进行导入步骤,项目文件拷贝到webapps下,并赋予bin相关文件执 ...

随机推荐

  1. Struts – MappingDispatchAction Example

    Struts MappingDispatchAction class is used to group similar functionality into a single action class ...

  2. 【社区公益】送《Web前端开发最佳实践》给需要的人

    算起来至今,我进入软件开发行业已经有11年之久.从最初的研究人工智能,到后来的Web开发,控件开发,直到现在纯粹的Web前端开发.虽然没有大的作品问世,但也是勤勤恳恳,踏实做事,低调做人.从来不吹牛逼 ...

  3. 使用Let’s Encrypt创建nginx免费SSL证书

    资料参考: https://www.freehao123.com/top-8-free-ssl-cert/   八大免费SSL证书-给你的网站免费添加Https安全加密 https://www.fre ...

  4. IOS 本地推送

    // 1.打开本地推送并设置属性 NSString *str = @"本地推送的信息"; UIApplication *app = [UIApplication sharedApp ...

  5. NetCore+Dapper WebApi架构搭建(四):仓储的依赖注入

    上一节我们讲到实体,仓储接口和仓储接口的实现需要遵循约定的命名规范,不仅是规范,而且为了依赖注入,现在我们实现仓储的依赖注入 在NetCore WebApi项目中新添加一个文件夹(Unit),当然你也 ...

  6. WebApi-JSON序列化循环引用

    Overview 最近被序列化,循环引用的问题,让我浑身酸爽.遇到这种异常是在搭建WebApi的时候,当我返回Linq实例类集合的时候出现的. 下定决心要解决这个问题.循环引用引起的原因是: 比如说: ...

  7. 整理之DOM事件阶段、冒泡与捕获、事件委托、ie事件和dom模型事件、鼠标事件

    整理之DOM事件阶段 本文主要解决的问题: 事件流 DOM事件流的三个阶段 先理解流的概念 在现今的JavaScript中随处可见.比如说React中的单向数据流,Node中的流,又或是今天本文所讲的 ...

  8. ELK收集openstack日志

    1.安装jdk 每个openstack服务器需要安装jdk,我安装的版本jdk-7u71-linux-x64.rpm 2.安装.配置Elastic Search install https://dow ...

  9. [ 原创 ] Java基础2--构造方法的继承和重载

    1.构造方法的重载是指同一个类中定义不同参数的多个构造方法,已完成不同情况下对象的初始化. 例如: Point(); Point(x); Point(x,y); 2.一个类的若干个构造方法之间可以相互 ...

  10. 求N!末尾所得数字0的个数

    题目:给定一个整数N ,那么N 的阶乘N !末尾有多少个0呢? 例如:N = 10,N! = 3628800,所以N!末尾就有2个零. 分析:如果直接先算出N!阶乘,很容易导致内存溢出.显然,直接算出 ...