日期:2014-05-16  浏览次数:21193 次

iis6 + mod_jk数据传输错误,Bug?
因为服务器环境的限制,所以使用了Windows 2003和IIS 6作JBoss 4.0.5(Tomcat 5.5.20)的环境,IIS的mod_jk已经安装完(1.2.23),配置、运行正常, jdk 1.5.11。
应用程序需要传输一些权限限制的文件,使用servlet发送这样的文件。内部测试环境是JBoss running on solaris, jdk 1.5.11,apache 2.2加proxy到JBoss的8080。还没有出现过在测试环境中传输文件有差错,模拟稍大的负载也没有问题。
现在上线运行,因为IIS还有其他的一些应用,所以不能换,配置好mod_jk,但发现在传输100K以上的文件时,基本上会有10%的概率出现传输数据错误。一开始,还以为是servlet的程序有问题,仔细调试后,基本可以确定程序没有问题,于是,在那台windows机器上开jboss tomcat的http connector 8080端口测试,发现同样条件,同样时刻,IIS传递的mod_jk的数据会出现数据错误,但tomcat自己的http连接器没有出现数据错误。
不知道各位有没有遇到过这样的问题,如何解决的?
1 楼 robbin 2007-06-03  
放弃mod_jk改用apache2.2和mod_proxy_ajp
2 楼 SteveGY 2007-06-03  
呵呵,robbin还在。不过我这个环境就是有限制,IIS还有其他的用处,要是在IIS前面再放一个apache确实有些变态,我google挖过一阵子,没什么有价值的参考,哎~~,有点惨
3 楼 robinjim 2007-06-04  
用apache可以挂载多个服务器在80端口,只是要用不同的域区分。比如用www.1.com的80指向iis的端口(任意).www.2.com80指向tomcat的8080。
4 楼 zelsa 2007-06-04  
我们公司就是这样做的,有asp和jsp的网站,跑同一台服务器,IIS + Tomcat。使用mod_jk1.2,运行得很正常。

5 楼 SteveGY 2007-06-04  
zelsa 写道
我们公司就是这样做的,有asp和jsp的网站,跑同一台服务器,IIS + Tomcat。使用mod_jk1.2,运行得很正常。



方便的话,说一下jk的详细版本号?另外,有没有通过servlet下载比较大(100K或以上的)文件的情况?
6 楼 zelsa 2007-06-04  
isapi_redirect-1.2.14
有1M左右的附件上传下载。
7 楼 SteveGY 2007-06-05  
最新的测试情况是这样的,我原先使用了apr和tomcat native 1.1.8,现在把apr拿掉,目前测试下来的情况已经没有再发生错误了,明天再测试时间长一些,再没有错误的话,估计可以结案了。
带apr的AJP connector在上传文件的时候也经常会出现socket read fail的错误。但是带apr的http connector一直都没有出现过错误,真是郁闷阿