2007-07-11

Apache与Tomcat整合后导致apahce的目录列表功能失效问题

Posted in Apache at 21:58 Author:仲远

标签:

在一些情况下,一个网站服务器可能既要配置静态页面又要配置JSP页面,这个时候就需要进行apahce和tomcat的整合。这方面的文章很多,其中最通常的做法是为apache增加一个mod_jk的module,然后在apche中将相关的jsp页面转交给tomcat进行处理。

Apache与Tomcat的整合还是比较成功,但是之后发现了一个问题,原有的apache的目录列表功能不再起作用了。虽然apache的目录列表功能有时会带来安全行问题,但是其方便性在有些时候还是比较实用的。因此,在许多时候还是舍不得放弃这个功能。但是现在,每次目录列表会自动转交给tomcat进行处理,可是tomcat提示无法显示。

经过多方尝试,终于发现问题所在。以下是问题分析和解决办法:

问题分析:
造成这个问题的原因是在apache配置文件httpd.conf中指定的DirectoryIndex包含了index.jsp,并且在apahce中将所有jsp页面都交给tomcat进行处理。而tomcat中似乎又把目录列表功能关闭,但是最终目录列表功能失效。

解决办法:
1、临时解决办法将apache的配置文件中的 JkMount /*.jsp ajp13 这句话注释掉。这样就不再报错了。当然,这样将导致jsp页面不交给tomcat处理,不过并不影响你整合apache和tomcat,你可以把指定目录交给tomcat处理,例如JkMount /test/* ajp13。这样就可以将test下的jsp页面交给tomcat进行处理。
2、推荐解决办法将全局变量中的DirectoryIndex中的index.jsp去掉。这种解决办法会导致全局变量不会默认去找index.jsp的页面。当然,如果你是一个网站的话,可以在虚拟目录中指定默认页为index.jsp。
3、理论解决办法将tomcat中的目录列表功能设置为可用。我想既然是tomcat报的错误,如果tomcat能够自己处理,应该也是可以的。当然,我自己曾经简单的尝试了一下,不过没有成功。因为找到其他解决办法了。所以这个解决办法也没有深究。你如果有兴趣的话,可以自己尝试一下

本文可以自由转载,转载时请保留全文并注明出处:
转载自仲子说 [ http://www.wangzhongyuan.com/ ]
原文链接:

1 Comment »

  1. 移民中介 said,

    2009年April22日 at 14:27

    这听起来那么好!

Leave a Comment

*
To prove you're a person (not a spam script), type the security text shown in the picture. Click here to regenerate some new text.
Click to hear an audio file of the anti-spam word