Versions:
Apache: 1.3.28 Win32
mod_jk/1.2.4

Tomcat 1: 4.1.24
Tomcat 2: 4.1.24

I'm investigating load balancing a Tomcat application that I've been
working on for the last few months. I'm currently having problems with
stick sessions.

My application uses BASIC authentication and Single Signon.

Since I'm a little on the paranoid side, I went through this exercise
fairly slowly.

Using John Turner's docs, the last 6 months of Tomcat Users Archives,
and about a dozen other links from the Tomcat site and the archives,
I've managed the following steps.

1. Using mod_jk and Apache to access Tomcat server with Tomcat and
   Apache both on localhost. No problems.

2. Using mod_jk and Apache to access Tomcat server on a different
   host. No problem.

Now that I'm sure I am not messing up the easy stuff, I moved to load
balancing. I can see that the Apache is definitely sending the
requests to both servers. However, I need the requests to remain
sticky. Currently, the requests bounce randomly between the servers.

Another interesting point is that I get two JSESSIONIDSSO cookies
when I'm trying to do the load balancing (with different paths).
When I'm not doing load balancing, I get one JSESSIONIDSSO cookie
with a path of '/'. Each request to the Apache server goes to a
different Tomcat instance.

The main noticable problem is the need to log in twice. I also
receive new cookies on every request. (Although that would not
bother most people.)

I'm trying to figure out if this is a mod_jk problem, an Apache 1.3
problem, a Windows problem, or my problem.<grin/>

Thanks for any insight into this problem.

Here are appropriate chunks from my configuration files.
--- mod_jk.conf -----
<IfModule !mod_jk.c>
  LoadModule jk_module c:/Apache/Apache/modules/mod_jk_1.3.27.dll
</IfModule>

JkWorkersFile "conf/workers.properties"
JkLogFile "logs/mod_jk.log"
JkLogLevel info

<VirtualHost localhost>
    ServerName localhost

    JkMount /IS500/change_password  loadbalancer
    JkMount /IS500/normal_state  loadbalancer
    JkMount /IS500/update_events  loadbalancer
    JkMount /IS500/historical_data  loadbalancer
    JkMount /IS500/historical_update  loadbalancer
    JkMount /IS500/alarmlist  loadbalancer
    JkMount /app/*  loadbalancer
    JkMount /Pictures/*  loadbalancer
    JkMount /Config/*  loadbalancer
</VirtualHost>

--- workers.properties -----
# BEGIN workers.properties
worker.list=loadbalancer

# Load Balancing worker
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1,tomcat2
worker.loadbalancer.sticky_session=1

# Local Tomcat
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.tomcat1.cachesize=10
worker.tomcat1.cache_timeout=600
worker.tomcat1.socket_keepalive=1
worker.tomcat1.socket_timeout=300

# HMIRIB3 Tomcat
worker.tomcat2.port=8009
worker.tomcat2.host=testserver
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
worker.tomcat2.cachesize=10
worker.tomcat2.cache_timeout=600
worker.tomcat2.socket_keepalive=1
worker.tomcat2.socket_timeout=300
# END workers.properties

--- server.xml : Tomcat1 ----
 .
 .
 .
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="100" debug="0" connectionTimeout="20000"
               useURIValidationHack="false" disableUploadTimeout="true"
              
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
 .
 .
 .
    <Engine jvmRoute="tomcat1" name="Standalone" defaultHost="localhost"
debug="0">
 .
 .
 .


--- server.xml : Tomcat2 ----
 .
 .
 .
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="100" debug="0" connectionTimeout="20000"
               useURIValidationHack="false" disableUploadTimeout="true"
              
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
 .
 .
 .
    <Engine jvmRoute="tomcat2" name="Standalone" defaultHost="localhost"
debug="0">
 .
 .
 .

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to