如何从Document Root提供一些路径模式,从mod_jk提供其他路径模式?

时间:2009-06-30 15:30:39

标签: mod-rewrite mod-jk

我们现有的情况是Apache 2.0 HTTPD充当后端tomcats集群的负载均衡器,使用mod_jk 1.2在两者之间进行通信。应用程序本身存储在tomcat服务器上,因此所有请求都通过(甚至图像,css等)传递给tomcat,使用虚拟主机配置中的以下内容:

JkMount /* worker-name

虚拟主机没有定义DocumentRoot,因为所有流量都通过管道传输到tomcat。

我们想开始直接从Apache提供静态内容(一个激进的想法,我知道)。鉴于我们的应用程序路径结构,区分静态内容和动态内容的唯一方法是请求路径的文件扩展名。因此,例如,所有以.jpg,.css,.ico等结尾的请求都不会通过JkMount传递,而是通过DocumentRoot传递。

这就是上下文。我的问题是,我怎样才能使vhost成为可能,以便所有与给定模式匹配的请求(特别是我们希望从apache中提供的模式)都是从DocumentRoot提供的,而所有其他请求都传递给了tomcat?

这可以通过JkMount中的正则表达式完成吗? JkMount灵活吗?如果没有,我可以使用mod_rewrite吗?

1 个答案:

答案 0 :(得分:4)

您可以使用JkUnMount指示mod_jk无法处理某些请求。我见过使用文件扩展名和路径的示例:

JkMount /* worker-name
JkUnMount /*.jpg worker-name
JkUnMount /images/* worker-name

有关详细信息,请参阅here