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
[EMAIL PROTECTED] wrote:
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@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]