You can experiment with the following alternative way of defining JkMount:
If you want to forward a certain request via mod_jk wo a worker X, you
can do that by setting:
SetHandler jakarta-servlet
SetEnv JK_WORKER_NAME X
Now you can vary this by using SetEnvIf instead of SetEnv to make it
dependant on runtime info, such as the request URL.
Furthermore mod_rewrite can set environment variables depending on parts
of matches regular expressions.
So something like setting
SetHandler jakarta-servlet
inside <Location /rimNGit/> and inside <Location /rimNGit-tomcat2/>
and using mod_rewrite to set the environment variable JK_WORKER_NAME to
"tomcat1" if the URL is /rimNGit/ and to "worker2" if it is
/rimNGit-tomcat2/ (and of course rewriting the URL itself) should work.
Caution: Don't mix mapping via JkMount and via SetHandler/Environment
for the same URLs. It might lead to unexpected results :)
If you don't like the name of the environment variable JK_WORKER_NAME,
you can change it via
JkWorkerIndicator MyPrefferedVarName
Some of this is explained in
http://tomcat.apache.org/connectors-doc/reference/apache.html
(look for "JkWorkerIndicator"")
Regards,
Rainer
JasDA@(protected):
> Hi,
>
> I'm using a Tomcat 5.5.20 and an Apache 2.x. Using the mod_jk special request will be passed through the Tomcat. But now I have a problem with two Tomcat instances and the same context (the name is equal) in these instances.
>
> Here is my workers.properties:
>
> ps=\ worker.list=tomcat1, tomcat2
>
> worker.tomcat1.port=8009
> worker.tomcat1.host=localhost
> worker.tomcat1.type=ajp13
>
> worker.tomcat2.port=9009
> worker.tomcat2.host=localhost
> worker.tomcat2.type=ajp13
>
>
> And here is my jk.conf
>
> <IfModule mod_jk.c>
> JkWorkersFile /etc/apache2/workers.properties
> JkLogFile /var/log/apache2/mod_jk.log
>
> # Log level to be used by mod_jk
> JkLogLevel error
>
> # The following line mounts all JSP files and the /servlet/ uri to tomcat
> JkMount /rimNG/* tomcat1
> JkMount /rimNGj/* tomcat1
> JkMount /rimNGuk/* tomcat1
> JkMount /rimNGit/* tomcat2
> </IfModule>
>
> As you can see all rimNGit-URLs will be passed through tomcat2. Now I want to create a new URL (for example "rimNGit-tomcat2") that should be passed as "rimNGit" through tomcat2. At the same time all "rimNGit" request should be passed through tomcat1. Is that possible?
>
> If I'm using mod_rewrite I could change the URL to rimNGit but in that case all requests would be passed through tomcat1 instead of tomcat2, am I right?
>
> Regards
> JasDA
> _______________________________________________________________________
> Viren-Scan f?r Ihren PC! Jetzt f?r jeden. Sofort, online und kostenlos.
> Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@(protected)
> To unsubscribe, e-mail: users-unsubscribe@(protected)
> For additional commands, e-mail: users-help@(protected)
---------------------------------------------------------------------
To start a new topic, e-mail: users@(protected)
To unsubscribe, e-mail: users-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)