Tomcat报BAD packet signature 18245错误的原因
今天在启动服务器时,报了一个BAD packet signature 18245错误
详细错误如下:
- 2009-6-5 11:09:11 org.apache.jk.common.MsgAjp processHeader
- 严重: BAD packet signature 18245
- 2009-6-5 11:09:11 org.apache.jk.common.ChannelSocket processConnection
- 严重: Error, processing connection
- java.lang.IndexOutOfBoundsException
- at java.io.BufferedInputStream.read(BufferedInputStream.java:306)
- at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:626)
- at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:583)
- at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:691)
- at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
- at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
- at java.lang.Thread.run(Thread.java:595)
这是一个AJP协议处理的包。
查了一下Tomcat的server.xml中配置文件
- <Connector port="8009"
- 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错误的原因的更多相关文章
- BAD packet signature 18245 错误解决
		1.错误信息 2014-7-15 2:46:38 org.apache.jk.common.MsgAjp processHeader 严重: BAD packet signature 18245 20 ... 
- 在eclipse中启动Tomcat报端口被占用的错误
		安装配置好Tomcat之后,在浏览器中输入localhost,能正取打开页面.然后在eclipse中建立项目,创建Servlet之后,启动Tomcat,报端口被占用的错误.如图: 原因:原来已经启动了 ... 
- springmvc 结合 自动封装异常信息输出为json 报错 500内部服务器错误的原因
		补充:还有一个原因是因为spring的对象没有被成功注入,例如 mapper没有被成功注入,抛出异常时在这种封装场景下将会抛出 500 服务器内部错误, 这种情况下要排查还是靠debug然后看看到底是 ... 
- tomcat 报错处理
		一.tomcat报错找不到资源集市 原因:tomcat的配置文件sever.xml 里的 docbase配置被Eclispe修改了 解决方法:修改回来 <Context docBase=&quo ... 
- 【Tomcat】tomcat报连接超时错误
		程序一直报这个错误 [getui-server][ERROR] [2016-03-17 10:50:00] getui.task.HftMongoInfoTask.execute(137) | --H ... 
- MyEclipse导入Maven项目pom文件第一行报错,运行Tomcat报Log4j错误--解决方法
		问题描述: 前一段时间电脑第一次导入Maven项目,又是pom文件错,改好后又是运行Tomcat报Log4j错误,一直倒腾了近一个月程序才成功跑起来,太不容易. 也上网查了很长时间,没一个方法能解决我 ... 
- 第一次安装tomcat报错,出现failed to install tomcat8 service错误
		第一次安装tomcat报错,出现failed to install tomcat8 service错误(0) 一.一般情况下这种错误都是没有卸载干净造成的,安全卸载Tomcat的方法 (转载); ht ... 
- Tomcat报java.io.IOException: Broken pipe错误
		Tomcat报java.io.IOException: Broken pipe错误,如下图: 解决方案:我的原因是因为网络策略导致出现该问题,即网络端口未启用或被限制. 
- tomcat项目迁移,无法访问,报“404”错误,原因分析
		首先,导出项目文件和MySQL数据库(项目文件直接tar&&cp:数据库直接mysqldump生成sql文件) 再,进行导入步骤,项目文件拷贝到webapps下,并赋予bin相关文件执 ... 
随机推荐
- Java语法知识总结
			一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名为Java: ... 
- day9--多线程与多进程
			线程: 什么是线程? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线 ... 
- python学习day4之路
			装饰器(http://egon09.blog.51cto.com/9161406/1836763) 1.装饰器:本质是函数: 装饰器(装饰其他函数),就是为其他函数添加附加功能: 原则:1.不能修改被 ... 
- python开发学习-day13(js、jQuery)
			s12-20160409-day13 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ... 
- 手工释放linux内存------/proc/sys/vm/drop_cache
			当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题 ... 
- Bootstrap入门八:图片
			1.响应式图片 在 Bootstrap 版本 3 中,通过为图片添加 .img-responsive 类可以让图片支持响应式布局.其实质是为图片设置了 max-width: 100%;. height ... 
- 20169211《Linux内核原理与分析》 第十周作业
			一.Linux内核之进程地址空间学习总结 Linux内核除了要管理物理内存还需要管理虚拟内存.用户进程的地址空间就是虚拟内存的一部分.每个用户进程都独有一个地址空间.由于是虚拟化的内存,所以从每个进程 ... 
- Java 中的国际化
			国际化 ,英文叫 internationalization 单词太长 ,又被简称为 i18n(取头取尾中间有18个字母)不经大声呼喊 ,这都行 !接着看什么是国际化 , 国际化是指让产品或是程序在无需 ... 
- 前端安全系列之二:如何防止CSRF攻击?
			背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络劫持 ... 
- mongodb的yum源配置和安装
			安装前注意: 此教程是通过yum安装的.仅限64位centos系统 安装步骤: 1.创建仓库文件: vi /etc/yum.repos.d/mongodb-org-3.4.repo 然后复制下面配置, ... 
