пользовательская переадресация mod_jk - PullRequest
0 голосов
/ 16 июня 2011

я хочу иметь возможность переадресовывать URL, например

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

Я уже могу пересылать стандартный URL-адрес зеркала в приложения tomcat, но не могу сделать это для пользовательского external_url, есть идеи?

Я пытался использовать ProxyPathMatch:

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

, но Apache жалуется, говоря, что это неверно.

большое спасибо за помощь.

1 Ответ

0 голосов
/ 06 июля 2011

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

...