2010-03-23 52 views
1

是否可以使用Tuckey's URL Rewrite重写为不同的Tomcat实例? 我有使用crossContext="true"重写到同一个tomcat实例上的不同servlet,但我们的生产服务器有多个正在运行的tomcat实例,我想重写其中的一个呢?我可以对不同的Tomcat实例进行URL重写吗?

如果使用URL Rewrite过滤器是不可能的,还有其他的方法吗?

谢谢。

+0

你的Tomcat实例前面是否有Apache? – 2010-03-23 22:57:51

+0

我在做生产,而不是在我的开发实例 – RodeoClown 2010-03-23 23:25:52

+0

如果生产使用Apache,那么你应该去mod_proxy或mod_jk路线,并开始在开发环境中使用Apache。 – 2010-03-23 23:27:37

回答

1

你不能简单地重写到另一个实例。您必须从另一个实例获取内容(例如,使用`new URL(“http://localhost:8081/foo”).openConnection()....')或使用30x重定向重定向客户端。如果您的Tomcats前有代理,则可以将其配置为直接解析重定向,而不是将其发送给客户端。

1

如果要代理请求,则需要在Apache中使用mod_jk或mod_proxy将请求代理到其他计算机。如果你可以发出重定向,那么只要使用URL重写就可以正常工作。

+0

如果我正确地理解了这个问题,Apache不是一个选项,因为请求已被转发到Tomcat实例。它可以直接从代理重定向到正确的实例,无论如何这个问题或多或少都会过时。 – sfussenegger 2010-03-23 23:01:52

+0

我暗示他需要将Apache放在他的Tomcat实例前,然后用Apache处理代理。 – 2010-03-23 23:08:51

相关问题