自定义mod_jk转发

时间:2011-06-15 22:15:20

标签: apache tomcat mod-jk

我希望能够转发网址,例如

http://external_url.com/auth => http://internal_url.com:8080/app/auth
https://external_url.com/w/my-account => https://internal_url.com:8080/app/LogIn.do
https://external_url.com/w/forgot-password => https://internal_url.com:8080/app/ForgotPassword.do
https://external_url.com/w/register-user => https://internal_url.com:8080/app/CustomerRegistration.do
http://external_url.com/w/logout =>  https://internal_url.com:8080/app/LogIn.do

我已经能够将标准镜像网址转发到tomcat应用程序,但无法为自定义external_url转发任何想法?

我尝试使用ProxyPathMatch

ProxyPathMatch ^(/\/w\/forgot\-password)$ http://internal_url.com:8080 /app/ForgotPassword.do 

但是Apache抱怨说它不正确。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

mod_jk与mod_proxy不同,因为你可以用这种方式重写URL。你可以这样做:

JkMount /auth  myAuthApp

然后在worker.properties中定义相应的应用程序:

worker.list=myAuthApp
worker.myAuthApp.host=internal_url.com
worker.myAuthApp.port=8080

但是你的tomcat应用程序必须能够在正确的上下文路径上侦听。在这种情况下,它将是/ auth,而不是/ app / auth。

您可以使用Cookie,URI等进行各种整洁转发。但是应用程序仍然会获得原始路径并且必须能够响应它。

http://tomcat.apache.org/connectors-doc/reference/apache.html