日期:2014-05-17  浏览次数:20768 次

Apache 通用 proxy 模块与Tomcat做过滤整合

在众多互联网上的Apache与Tomcat整合中,主要有两种办法 :1.使用AJP协议进行代理,2.使用Apache的Proxy模块进行代理,但众多的代理配置为完全代理,配置如下:

?

?

<VirtualHost *:80>
	ServerName www.demo.cn
	ProxyPass / http://127.0.0.1:8080/
	ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

?

这样,将所有的请求都转向了Tomcat去处理,当然也包含静态的文件、图片、CSS、JS等。不能发挥Apache对静态文件的处理能力,可以通过如下配置解决:

?

?

?

<VirtualHost *:80>
  ServerName www.demo.com
  DocumentRoot "D:/Servers/apache-tomcat-6.0.32/webapps/cms/export/demo"
  <Directory "D:/Servers/apache-tomcat-6.0.32/webapps/cms/export/demo">
      Options FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
  </Directory>
  DirectoryIndex index.html
  ErrorDocument 404 /404.html
  ProxyPass /services/ http://127.0.0.1:8180/andacms/services/
  ProxyPassMatch ^/(.*\.jsp)$ http://127.0.0.1:8180/cms/export/demo/$1  
</VirtualHost>

?

这样,所有以.jsp为后缀的请求,将会转给 Tomcat处理,而静态的文件、CSS、JS则由Apache处理。

至于 services的web services,可以转到后台处理

?

?

测试版本:

Apache2.2.19

Tomcat6.0.32