Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Gabriel Tabares

Hi everybody,

I have been running Tomcat on production for a few years with no problem 
but now, after moving to a new company, I am completely unable to get 
session stickyness working.


The setup is as follows:

Apache 2.2.3 (CentOS 5.4 version) - Tomcat 6.0.24.

I have tried all of mod_proxy, mod_ajp_proxy and mod_jk but, no matter 
what I do, I can not get Apache to always send the requests to the 
Tomcat specified in the jsession.


Firebug indicates that the JSESSIONID cookie is being set as it should 
but it still sees requests going to the other server. I have also tried 
changing the jvmRoute to exactly match the worker name for mod_jk but it 
still doesn't work.


I would appreciate any help, as I am stuck.

Here are the configurations I have tried. Obviously, only of them is 
active at any given time. httpd.conf is the standard one from the CentOS 
RPM.


Tomcats:

All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.

mod_proxy

proxy.conf
---

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

Proxy balancer://public_web_cluster
Order deny,allow
Allow from all

BalancerMember http://app01:8080 route=pub-app01
BalancerMember http://app02:8080 route=pub-app02
BalancerMember http://app03:8080 route=pub-app03
BalancerMember http://app04:8080 route=pub-app04
BalancerMember http://app05:8080 route=pub-app05
/Proxy

virtual.conf

LogLevel Debug

VirtualHost 10.1.2.1:80
DocumentRoot /var/www/html
ServerName www.myserver.com
ServerAlias myserver.com

RewriteEngine On
RewriteRule ^/$ /appname/ [R]
RewriteRule ^$ /appname/ [R]

Location /
AuthType Basic
AuthName Please enter your details
AuthUserFile /etc/httpd/conf.d/htpasswd
Require valid-user

ProxyPass balancer://public_web_cluster/ 
stickysession=JSESSIONID lbmethod=byrequests

ProxyPassReverse balancer://public_web_cluster/
/Location
/VirtualHost

mod_ajp_proxy
===

mod_proxy_ajp.conf
--

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Proxy balancer://pubLB
BalancerMember ajp://app01:8009/ timeout=5 route=pub-app01
BalancerMember ajp://app02:8009/ timeout=5 route=pub-app02
BalancerMember ajp://app03:8009/ timeout=5 route=pub-app03
BalancerMember ajp://app04:8009/ timeout=5 route=pub-app04
BalancerMember ajp://app05:8009/ timeout=5 route=pub-app05
/Proxy

virtual.conf
---
ProxyRequests Off
VirtualHost 10.1.2.1:80
DocumentRoot /var/www/html
ServerName www.myserver.com
ServerAlias myserver.com

RewriteEngine On
RewriteRule ^$ /myapp [R]
RewriteRule ^/$ /myapp [R]

Location /
AuthType Basic
AuthName Please enter your details
AuthUserFile /etc/httpd/conf.d/htpasswd
Require valid-user

ProxyPass balancer://pubLB/ stickysession=JSESSIONID nofailover=on
ProxyPassReverse balancer://pubLB/
/Location
/VirtualHost

mod_jk
=

mod_jk.conf
-
LoadModule jk_module modules/mod_jk.so

JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLeveldebug
JkLogStampFormat [%a %b %d %H:%M:%S %Y] 

workers.properties
---
ps=/

worker.list=pub-app01, pub-app02, pub-app03, pub-app04, pub-app05, pub-lb

worker.pub-app01.type=ajp13
worker.pub-app01.host=app01
worker.pub-app01.port=8009
worker.pub-app01.socket_keepalive=1

worker.pub-app02.type=ajp13
worker.pub-app02.host=app02
worker.pub-app02.port=8009
worker.pub-app02.socket_keepalive=1

worker.pub-app03.type=ajp13
worker.pub-app03.host=app03
worker.pub-app03.port=8009
worker.pub-app03.socket_keepalive=1

worker.pub-app04.type=ajp13
worker.pub-app04.host=app04
worker.pub-app04.port=8009
worker.pub-app04.socket_keepalive=1

worker.pub-app05.type=ajp13
worker.pub-app05.host=app05
worker.pub-app05.port=8009
worker.pub-app05.socket_keepalive=1

worker.ajp13.lbfactor=1

worker.pub-lb.type=lb
worker.pub-lb.balance_workers=pub-app01,pub-app02,pub-app03,pub-app04,pub-app05
worker.pub-lb.sticky_session=1

virtual.conf
---

VirtualHost 10.1.2.1:80
DocumentRoot /var/www/html
ServerName www.myserver.com

   JkMount /myapp/* pub-lb

Location /
AuthType Basic
AuthName Please enter your details
AuthUserFile /etc/httpd/conf.d/htpasswd
Require valid-user

/Location
/VirtualHost

--

Thanks in advance.

Gabriel




-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Ockleford Paul (NHS Connecting for Health)
I'm not sure if this is what you are looking for but I just checked how our 
stuff is set up here and wondered if you have the jvm route mapped in the 
server xml for the tomcat instances you want loadbalanced?

Engine jvmRoute=route_7 name=Catalina defaultHost=localhost

Paul



-Original Message-
From: Gabriel Tabares [mailto:gabriel.taba...@roboreus.com]
Sent: 30 June 2010 11:17
To: users@tomcat.apache.org
Subject: Hello and Tomcat issues with sticky sessions

Hi everybody,

I have been running Tomcat on production for a few years with no problem
but now, after moving to a new company, I am completely unable to get
session stickyness working.

The setup is as follows:

Apache 2.2.3 (CentOS 5.4 version) - Tomcat 6.0.24.

I have tried all of mod_proxy, mod_ajp_proxy and mod_jk but, no matter
what I do, I can not get Apache to always send the requests to the
Tomcat specified in the jsession.

Firebug indicates that the JSESSIONID cookie is being set as it should
but it still sees requests going to the other server. I have also tried
changing the jvmRoute to exactly match the worker name for mod_jk but it
still doesn't work.

I would appreciate any help, as I am stuck.

Here are the configurations I have tried. Obviously, only of them is
active at any given time. httpd.conf is the standard one from the CentOS
RPM.

Tomcats:

All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.

mod_proxy

proxy.conf
---

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

Proxy balancer://public_web_cluster
 Order deny,allow
 Allow from all

 BalancerMember http://app01:8080 route=pub-app01
 BalancerMember http://app02:8080 route=pub-app02
 BalancerMember http://app03:8080 route=pub-app03
 BalancerMember http://app04:8080 route=pub-app04
 BalancerMember http://app05:8080 route=pub-app05
/Proxy

virtual.conf

LogLevel Debug

VirtualHost 10.1.2.1:80
 DocumentRoot /var/www/html
 ServerName www.myserver.com
 ServerAlias myserver.com

 RewriteEngine On
 RewriteRule ^/$ /appname/ [R]
 RewriteRule ^$ /appname/ [R]

Location /
 AuthType Basic
 AuthName Please enter your details
 AuthUserFile /etc/httpd/conf.d/htpasswd
 Require valid-user

 ProxyPass balancer://public_web_cluster/
stickysession=JSESSIONID lbmethod=byrequests
 ProxyPassReverse balancer://public_web_cluster/
/Location
/VirtualHost

mod_ajp_proxy
===

mod_proxy_ajp.conf
--

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Proxy balancer://pubLB
BalancerMember ajp://app01:8009/ timeout=5 route=pub-app01
BalancerMember ajp://app02:8009/ timeout=5 route=pub-app02
BalancerMember ajp://app03:8009/ timeout=5 route=pub-app03
BalancerMember ajp://app04:8009/ timeout=5 route=pub-app04
BalancerMember ajp://app05:8009/ timeout=5 route=pub-app05
/Proxy

virtual.conf
---
ProxyRequests Off
VirtualHost 10.1.2.1:80
 DocumentRoot /var/www/html
 ServerName www.myserver.com
 ServerAlias myserver.com

 RewriteEngine On
 RewriteRule ^$ /myapp [R]
 RewriteRule ^/$ /myapp [R]

Location /
 AuthType Basic
 AuthName Please enter your details
 AuthUserFile /etc/httpd/conf.d/htpasswd
 Require valid-user

 ProxyPass balancer://pubLB/ stickysession=JSESSIONID nofailover=on
 ProxyPassReverse balancer://pubLB/
/Location
/VirtualHost

mod_jk
=

mod_jk.conf
-
LoadModule jk_module modules/mod_jk.so

JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLeveldebug
JkLogStampFormat [%a %b %d %H:%M:%S %Y] 

workers.properties
---
ps=/

worker.list=pub-app01, pub-app02, pub-app03, pub-app04, pub-app05, pub-lb

worker.pub-app01.type=ajp13
worker.pub-app01.host=app01
worker.pub-app01.port=8009
worker.pub-app01.socket_keepalive=1

worker.pub-app02.type=ajp13
worker.pub-app02.host=app02
worker.pub-app02.port=8009
worker.pub-app02.socket_keepalive=1

worker.pub-app03.type=ajp13
worker.pub-app03.host=app03
worker.pub-app03.port=8009
worker.pub-app03.socket_keepalive=1

worker.pub-app04.type=ajp13
worker.pub-app04.host=app04
worker.pub-app04.port=8009
worker.pub-app04.socket_keepalive=1

worker.pub-app05.type=ajp13
worker.pub-app05.host=app05
worker.pub-app05.port=8009
worker.pub-app05.socket_keepalive=1

worker.ajp13.lbfactor=1

worker.pub-lb.type=lb
worker.pub-lb.balance_workers=pub-app01,pub-app02,pub-app03,pub-app04,pub-app05
worker.pub-lb.sticky_session=1

virtual.conf
---

VirtualHost 10.1.2.1:80
 DocumentRoot /var/www/html
 ServerName www.myserver.com

JkMount /myapp/* pub-lb

Location /
 AuthType Basic
 AuthName Please enter your details
 AuthUserFile /etc/httpd/conf.d

Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread M.H.G. Emmerig

Hello gabriel

I think you should have the following in your configuration:

in de workers definition something like

worker.pub-app01.domain=pub-app01-jvm


and in your tomcat server.xml

Engine name=Catalina defaultHost=localhost jvmRoute=pub-app01-jvm




regards

Milko Emmerig

   
 Gabriel Tabares   
 gabriel.tabares@ 
 roboreus.com  To
   users@tomcat.apache.org 
 30-06-2010 12:16   cc
   
   Subject
 Please respond to Hello and Tomcat issues with sticky
   Tomcat Users   sessions
   List   
 us...@tomcat.apa 
 che.org  
   
   
   




Hi everybody,

I have been running Tomcat on production for a few years with no problem
but now, after moving to a new company, I am completely unable to get
session stickyness working.

The setup is as follows:

Apache 2.2.3 (CentOS 5.4 version) - Tomcat 6.0.24.

I have tried all of mod_proxy, mod_ajp_proxy and mod_jk but, no matter
what I do, I can not get Apache to always send the requests to the
Tomcat specified in the jsession.

Firebug indicates that the JSESSIONID cookie is being set as it should
but it still sees requests going to the other server. I have also tried
changing the jvmRoute to exactly match the worker name for mod_jk but it
still doesn't work.

I would appreciate any help, as I am stuck.

Here are the configurations I have tried. Obviously, only of them is
active at any given time. httpd.conf is the standard one from the CentOS
RPM.

Tomcats:

All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.

mod_proxy

proxy.conf
---

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

Proxy balancer://public_web_cluster
 Order deny,allow
 Allow from all

 BalancerMember http://app01:8080 route=pub-app01
 BalancerMember http://app02:8080 route=pub-app02
 BalancerMember http://app03:8080 route=pub-app03
 BalancerMember http://app04:8080 route=pub-app04
 BalancerMember http://app05:8080 route=pub-app05
/Proxy

virtual.conf

LogLevel Debug

VirtualHost 10.1.2.1:80
 DocumentRoot /var/www/html
 ServerName www.myserver.com
 ServerAlias myserver.com

 RewriteEngine On
 RewriteRule ^/$ /appname/ [R]
 RewriteRule ^$ /appname/ [R]

Location /
 AuthType Basic
 AuthName Please enter your details
 AuthUserFile /etc/httpd/conf.d/htpasswd
 Require valid-user

 ProxyPass balancer://public_web_cluster/
stickysession=JSESSIONID lbmethod=byrequests
 ProxyPassReverse balancer://public_web_cluster/
/Location
/VirtualHost

mod_ajp_proxy
===

mod_proxy_ajp.conf
--

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Proxy balancer://pubLB
BalancerMember ajp://app01:8009/ timeout=5 route=pub-app01
BalancerMember ajp://app02:8009/ timeout=5 route=pub-app02
BalancerMember ajp://app03:8009/ timeout=5 route=pub-app03
BalancerMember ajp://app04:8009/ timeout=5 route=pub-app04
BalancerMember ajp://app05:8009/ timeout=5 route=pub-app05
/Proxy

virtual.conf
---
ProxyRequests Off
VirtualHost 10.1.2.1:80
 DocumentRoot /var/www/html
 ServerName www.myserver.com
 ServerAlias myserver.com

 RewriteEngine On
 RewriteRule ^$ /myapp [R]
 RewriteRule ^/$ /myapp [R]

Location /
 AuthType Basic
 AuthName Please enter your details
 AuthUserFile /etc/httpd/conf.d/htpasswd
 Require valid-user

 ProxyPass balancer://pubLB/ stickysession=JSESSIONID nofailover=on
 ProxyPassReverse balancer://pubLB/
/Location
/VirtualHost

mod_jk
=

mod_jk.conf
-
LoadModule jk_module modules/mod_jk.so

JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLeveldebug
JkLogStampFormat [%a %b %d %H:%M:%S %Y] 

workers.properties
---
ps=/

worker.list=pub-app01, pub-app02, pub-app03, pub-app04, pub-app05, pub-lb

worker.pub-app01.type=ajp13
worker.pub-app01.host=app01

RE: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread M.H.G. Emmerig

you beat me to it I think

regards

Milko Emmerig

   
 Ockleford Paul   
 (NHS Connecting   
 for Health)   To
 paul.ocklef...@n Tomcat Users List   
 hs.net   users@tomcat.apache.org   
cc
 30-06-2010 12:31  
   Subject
   RE: Hello and Tomcat issues with
 Please respond to sticky sessions 
   Tomcat Users   
   List   
 us...@tomcat.apa 
 che.org  
   
   




I'm not sure if this is what you are looking for but I just checked how our
stuff is set up here and wondered if you have the jvm route mapped in the
server xml for the tomcat instances you want loadbalanced?

Engine jvmRoute=route_7 name=Catalina defaultHost=localhost

Paul



-Original Message-
From: Gabriel Tabares [mailto:gabriel.taba...@roboreus.com]
Sent: 30 June 2010 11:17
To: users@tomcat.apache.org
Subject: Hello and Tomcat issues with sticky sessions

Hi everybody,

I have been running Tomcat on production for a few years with no problem
but now, after moving to a new company, I am completely unable to get
session stickyness working.

The setup is as follows:

Apache 2.2.3 (CentOS 5.4 version) - Tomcat 6.0.24.

I have tried all of mod_proxy, mod_ajp_proxy and mod_jk but, no matter
what I do, I can not get Apache to always send the requests to the
Tomcat specified in the jsession.

Firebug indicates that the JSESSIONID cookie is being set as it should
but it still sees requests going to the other server. I have also tried
changing the jvmRoute to exactly match the worker name for mod_jk but it
still doesn't work.

I would appreciate any help, as I am stuck.

Here are the configurations I have tried. Obviously, only of them is
active at any given time. httpd.conf is the standard one from the CentOS
RPM.

Tomcats:

All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.

mod_proxy

proxy.conf
---

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

Proxy balancer://public_web_cluster
 Order deny,allow
 Allow from all

 BalancerMember http://app01:8080 route=pub-app01
 BalancerMember http://app02:8080 route=pub-app02
 BalancerMember http://app03:8080 route=pub-app03
 BalancerMember http://app04:8080 route=pub-app04
 BalancerMember http://app05:8080 route=pub-app05
/Proxy

virtual.conf

LogLevel Debug

VirtualHost 10.1.2.1:80
 DocumentRoot /var/www/html
 ServerName www.myserver.com
 ServerAlias myserver.com

 RewriteEngine On
 RewriteRule ^/$ /appname/ [R]
 RewriteRule ^$ /appname/ [R]

Location /
 AuthType Basic
 AuthName Please enter your details
 AuthUserFile /etc/httpd/conf.d/htpasswd
 Require valid-user

 ProxyPass balancer://public_web_cluster/
stickysession=JSESSIONID lbmethod=byrequests
 ProxyPassReverse balancer://public_web_cluster/
/Location
/VirtualHost

mod_ajp_proxy
===

mod_proxy_ajp.conf
--

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Proxy balancer://pubLB
BalancerMember ajp://app01:8009/ timeout=5 route=pub-app01
BalancerMember ajp://app02:8009/ timeout=5 route=pub-app02
BalancerMember ajp://app03:8009/ timeout=5 route=pub-app03
BalancerMember ajp://app04:8009/ timeout=5 route=pub-app04
BalancerMember ajp://app05:8009/ timeout=5 route=pub-app05
/Proxy

virtual.conf
---
ProxyRequests Off
VirtualHost 10.1.2.1:80
 DocumentRoot /var/www/html
 ServerName www.myserver.com
 ServerAlias myserver.com

 RewriteEngine On
 RewriteRule ^$ /myapp [R]
 RewriteRule ^/$ /myapp [R]

Location /
 AuthType Basic
 AuthName Please enter your details
 AuthUserFile /etc/httpd/conf.d/htpasswd
 Require valid-user

 ProxyPass balancer://pubLB/ stickysession=JSESSIONID nofailover=on
 ProxyPassReverse balancer://pubLB/
/Location
/VirtualHost

mod_jk
=

mod_jk.conf
-
LoadModule jk_module modules/mod_jk.so

JkWorkersFile /etc/httpd

RE: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Ockleford Paul (NHS Connecting for Health)
Yes sorry! Slow morning here today.. :)

From: M.H.G. Emmerig [mailto:m.h.g.emme...@dnb.nl]
Sent: 30 June 2010 11:33
To: Tomcat Users List
Subject: RE: Hello and Tomcat issues with sticky sessions


you beat me to it I think

regards

Milko Emmerig

Ockleford Paul (NHS Connecting for Health) paul.ocklef...@nhs.net

30-06-2010 12:31
Please respond to
Tomcat Users List users@tomcat.apache.org



To


Tomcat Users List users@tomcat.apache.org


cc




Subject


RE: Hello and Tomcat issues with sticky sessions








I'm not sure if this is what you are looking for but I just checked how our 
stuff is set up here and wondered if you have the jvm route mapped in the 
server xml for the tomcat instances you want loadbalanced?

Engine jvmRoute=route_7 name=Catalina defaultHost=localhost

Paul



-Original Message-
From: Gabriel Tabares [mailto:gabriel.taba...@roboreus.com]
Sent: 30 June 2010 11:17
To: users@tomcat.apache.org
Subject: Hello and Tomcat issues with sticky sessions

Hi everybody,

I have been running Tomcat on production for a few years with no problem
but now, after moving to a new company, I am completely unable to get
session stickyness working.

The setup is as follows:

Apache 2.2.3 (CentOS 5.4 version) - Tomcat 6.0.24.

I have tried all of mod_proxy, mod_ajp_proxy and mod_jk but, no matter
what I do, I can not get Apache to always send the requests to the
Tomcat specified in the jsession.

Firebug indicates that the JSESSIONID cookie is being set as it should
but it still sees requests going to the other server. I have also tried
changing the jvmRoute to exactly match the worker name for mod_jk but it
still doesn't work.

I would appreciate any help, as I am stuck.

Here are the configurations I have tried. Obviously, only of them is
active at any given time. httpd.conf is the standard one from the CentOS
RPM.

Tomcats:

All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.

mod_proxy

proxy.conf
---

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

Proxy balancer://public_web_cluster
Order deny,allow
Allow from all

BalancerMember http://app01:8080 route=pub-app01
BalancerMember http://app02:8080 route=pub-app02
BalancerMember http://app03:8080 route=pub-app03
BalancerMember http://app04:8080 route=pub-app04
BalancerMember http://app05:8080 route=pub-app05
/Proxy

virtual.conf

LogLevel Debug

VirtualHost 10.1.2.1:80
DocumentRoot /var/www/html
ServerName www.myserver.com
ServerAlias myserver.com

RewriteEngine On
RewriteRule ^/$ /appname/ [R]
RewriteRule ^$ /appname/ [R]

Location /
AuthType Basic
AuthName Please enter your details
AuthUserFile /etc/httpd/conf.d/htpasswd
Require valid-user

ProxyPass balancer://public_web_cluster/
stickysession=JSESSIONID lbmethod=byrequests
ProxyPassReverse balancer://public_web_cluster/
/Location
/VirtualHost

mod_ajp_proxy
===

mod_proxy_ajp.conf
--

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Proxy balancer://pubLB
BalancerMember ajp://app01:8009/ timeout=5 route=pub-app01
BalancerMember ajp://app02:8009/ timeout=5 route=pub-app02
BalancerMember ajp://app03:8009/ timeout=5 route=pub-app03
BalancerMember ajp://app04:8009/ timeout=5 route=pub-app04
BalancerMember ajp://app05:8009/ timeout=5 route=pub-app05
/Proxy

virtual.conf
---
ProxyRequests Off
VirtualHost 10.1.2.1:80
DocumentRoot /var/www/html
ServerName www.myserver.com
ServerAlias myserver.com

RewriteEngine On
RewriteRule ^$ /myapp [R]
RewriteRule ^/$ /myapp [R]

Location /
AuthType Basic
AuthName Please enter your details
AuthUserFile /etc/httpd/conf.d/htpasswd
Require valid-user

ProxyPass balancer://pubLB/ stickysession=JSESSIONID nofailover=on
ProxyPassReverse balancer://pubLB/
/Location
/VirtualHost

mod_jk
=

mod_jk.conf
-
LoadModule jk_module modules/mod_jk.so

JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLeveldebug
JkLogStampFormat [%a %b %d %H:%M:%S %Y] 

workers.properties
---
ps=/

worker.list=pub-app01, pub-app02, pub-app03, pub-app04, pub-app05, pub-lb

worker.pub-app01.type=ajp13
worker.pub-app01.host=app01
worker.pub-app01.port=8009
worker.pub-app01.socket_keepalive=1

worker.pub-app02.type=ajp13
worker.pub-app02.host=app02
worker.pub-app02.port=8009
worker.pub-app02.socket_keepalive=1

worker.pub-app03.type=ajp13
worker.pub-app03.host=app03
worker.pub-app03.port=8009
worker.pub-app03.socket_keepalive=1

worker.pub-app04.type=ajp13
worker.pub-app04.host=app04
worker.pub-app04.port=8009
worker.pub-app04.socket_keepalive=1

worker.pub-app05.type=ajp13
worker.pub-app05.host=app05

Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Gabriel Tabares
I'm not sure if this is what you are looking for but I just checked how 
our stuff is set up here and wondered if you have the jvm route mapped 
in the server xml for the tomcat instances you want loadbalanced?

Engine jvmRoute=route_7 name=Catalina defaultHost=localhost

Paul

   


Sorry if it wasn't clear on my original message, they already have the 
jvmRoute set:


Engine name=Catalina defaultHost=localhost jvmRoute=pub-app01 
for the first, server
Engine name=Catalina defaultHost=localhost jvmRoute=pub-app02  
for the second, etc.





-Original Message-
From: Gabriel Tabares [mailto:gabriel.taba...@roboreus.com]
Sent: 30 June 2010 11:17
To: users@tomcat.apache.org
Subject: Hello and Tomcat issues with sticky sessions

Hi everybody,

I have been running Tomcat on production for a few years with no problem
but now, after moving to a new company, I am completely unable to get
session stickyness working.

The setup is as follows:

Apache 2.2.3 (CentOS 5.4 version) -  Tomcat 6.0.24.

I have tried all of mod_proxy, mod_ajp_proxy and mod_jk but, no matter
what I do, I can not get Apache to always send the requests to the
Tomcat specified in the jsession.

Firebug indicates that the JSESSIONID cookie is being set as it should
but it still sees requests going to the other server. I have also tried
changing the jvmRoute to exactly match the worker name for mod_jk but it
still doesn't work.

I would appreciate any help, as I am stuck.

Here are the configurations I have tried. Obviously, only of them is
active at any given time. httpd.conf is the standard one from the CentOS
RPM.

Tomcats:

All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.

mod_proxy

proxy.conf
---

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

Proxy balancer://public_web_cluster
  Order deny,allow
  Allow from all

  BalancerMember http://app01:8080 route=pub-app01
  BalancerMember http://app02:8080 route=pub-app02
  BalancerMember http://app03:8080 route=pub-app03
  BalancerMember http://app04:8080 route=pub-app04
  BalancerMember http://app05:8080 route=pub-app05
/Proxy

virtual.conf

LogLevel Debug

VirtualHost 10.1.2.1:80
  DocumentRoot /var/www/html
  ServerName www.myserver.com
  ServerAlias myserver.com

  RewriteEngine On
  RewriteRule ^/$ /appname/ [R]
  RewriteRule ^$ /appname/ [R]

Location /
  AuthType Basic
  AuthName Please enter your details
  AuthUserFile /etc/httpd/conf.d/htpasswd
  Require valid-user

  ProxyPass balancer://public_web_cluster/
stickysession=JSESSIONID lbmethod=byrequests
  ProxyPassReverse balancer://public_web_cluster/
/Location
/VirtualHost

mod_ajp_proxy
===

mod_proxy_ajp.conf
--

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Proxy balancer://pubLB
BalancerMember ajp://app01:8009/ timeout=5 route=pub-app01
BalancerMember ajp://app02:8009/ timeout=5 route=pub-app02
BalancerMember ajp://app03:8009/ timeout=5 route=pub-app03
BalancerMember ajp://app04:8009/ timeout=5 route=pub-app04
BalancerMember ajp://app05:8009/ timeout=5 route=pub-app05
/Proxy

virtual.conf
---
ProxyRequests Off
VirtualHost 10.1.2.1:80
  DocumentRoot /var/www/html
  ServerName www.myserver.com
  ServerAlias myserver.com

  RewriteEngine On
  RewriteRule ^$ /myapp [R]
  RewriteRule ^/$ /myapp [R]

Location /
  AuthType Basic
  AuthName Please enter your details
  AuthUserFile /etc/httpd/conf.d/htpasswd
  Require valid-user

  ProxyPass balancer://pubLB/ stickysession=JSESSIONID nofailover=on
  ProxyPassReverse balancer://pubLB/
/Location
/VirtualHost

mod_jk
=

mod_jk.conf
-
LoadModule jk_module modules/mod_jk.so

JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLeveldebug
JkLogStampFormat [%a %b %d %H:%M:%S %Y] 

workers.properties
---
ps=/

worker.list=pub-app01, pub-app02, pub-app03, pub-app04, pub-app05, pub-lb

worker.pub-app01.type=ajp13
worker.pub-app01.host=app01
worker.pub-app01.port=8009
worker.pub-app01.socket_keepalive=1

worker.pub-app02.type=ajp13
worker.pub-app02.host=app02
worker.pub-app02.port=8009
worker.pub-app02.socket_keepalive=1

worker.pub-app03.type=ajp13
worker.pub-app03.host=app03
worker.pub-app03.port=8009
worker.pub-app03.socket_keepalive=1

worker.pub-app04.type=ajp13
worker.pub-app04.host=app04
worker.pub-app04.port=8009
worker.pub-app04.socket_keepalive=1

worker.pub-app05.type=ajp13
worker.pub-app05.host=app05
worker.pub-app05.port=8009
worker.pub-app05.socket_keepalive=1

worker.ajp13.lbfactor=1

worker.pub-lb.type=lb
worker.pub-lb.balance_workers=pub-app01,pub-app02,pub-app03,pub-app04,pub-app05

Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread M.H.G. Emmerig

Gabriel

have you also set de directive in de workers.properties I suggested?

in your case that should look like

worker.pub-app01.domain=pub-app01
etc

Milko



   
 Gabriel Tabares   
 gabriel.tabares@ 
 roboreus.com  To
   users@tomcat.apache.org 
 30-06-2010 12:41   cc
   
   Subject
 Please respond to Re: Hello and Tomcat issues with
   Tomcat Users   sticky sessions 
   List   
 us...@tomcat.apa 
 che.org  
   
   
   




I'm not sure if this is what you are looking for but I just checked how
our stuff is set up here and wondered if you have the jvm route mapped
in the server xml for the tomcat instances you want loadbalanced?
 Engine jvmRoute=route_7 name=Catalina defaultHost=localhost

 Paul



Sorry if it wasn't clear on my original message, they already have the
jvmRoute set:

Engine name=Catalina defaultHost=localhost jvmRoute=pub-app01
for the first, server
Engine name=Catalina defaultHost=localhost jvmRoute=pub-app02
for the second, etc.



 -Original Message-
 From: Gabriel Tabares [mailto:gabriel.taba...@roboreus.com]
 Sent: 30 June 2010 11:17
 To: users@tomcat.apache.org
 Subject: Hello and Tomcat issues with sticky sessions

 Hi everybody,

 I have been running Tomcat on production for a few years with no problem
 but now, after moving to a new company, I am completely unable to get
 session stickyness working.

 The setup is as follows:

 Apache 2.2.3 (CentOS 5.4 version) -  Tomcat 6.0.24.

 I have tried all of mod_proxy, mod_ajp_proxy and mod_jk but, no matter
 what I do, I can not get Apache to always send the requests to the
 Tomcat specified in the jsession.

 Firebug indicates that the JSESSIONID cookie is being set as it should
 but it still sees requests going to the other server. I have also tried
 changing the jvmRoute to exactly match the worker name for mod_jk but it
 still doesn't work.

 I would appreciate any help, as I am stuck.

 Here are the configurations I have tried. Obviously, only of them is
 active at any given time. httpd.conf is the standard one from the CentOS
 RPM.

 Tomcats:

 All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.

 mod_proxy
 
 proxy.conf
 ---

 LoadModule proxy_module modules/mod_proxy.so
 LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
 LoadModule proxy_http_module modules/mod_proxy_http.so

 ProxyRequests Off

 Proxy balancer://public_web_cluster
   Order deny,allow
   Allow from all

   BalancerMember http://app01:8080 route=pub-app01
   BalancerMember http://app02:8080 route=pub-app02
   BalancerMember http://app03:8080 route=pub-app03
   BalancerMember http://app04:8080 route=pub-app04
   BalancerMember http://app05:8080 route=pub-app05
 /Proxy

 virtual.conf
 
 LogLevel Debug

 VirtualHost 10.1.2.1:80
   DocumentRoot /var/www/html
   ServerName www.myserver.com
   ServerAlias myserver.com

   RewriteEngine On
   RewriteRule ^/$ /appname/ [R]
   RewriteRule ^$ /appname/ [R]

 Location /
   AuthType Basic
   AuthName Please enter your details
   AuthUserFile /etc/httpd/conf.d/htpasswd
   Require valid-user

   ProxyPass balancer://public_web_cluster/
 stickysession=JSESSIONID lbmethod=byrequests
   ProxyPassReverse balancer://public_web_cluster/
 /Location
 /VirtualHost

 mod_ajp_proxy
 ===

 mod_proxy_ajp.conf
 --

 LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

 Proxy balancer://pubLB
 BalancerMember ajp://app01:8009/ timeout=5 route=pub-app01
 BalancerMember ajp://app02:8009/ timeout=5 route=pub-app02
 BalancerMember ajp://app03:8009/ timeout=5 route=pub-app03
 BalancerMember ajp://app04:8009/ timeout=5 route=pub-app04
 BalancerMember ajp://app05:8009/ timeout=5 route=pub-app05
 /Proxy

 virtual.conf
 ---
 ProxyRequests Off
 VirtualHost 10.1.2.1:80
   DocumentRoot /var/www/html
   ServerName www.myserver.com
   ServerAlias myserver.com

   RewriteEngine On
   RewriteRule ^$ /myapp [R]
   RewriteRule ^/$ /myapp

Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Pid
On 30/06/2010 11:33, M.H.G. Emmerig wrote:
 you beat me to it I think
 
 regards
 
 Milko Emmerig

 I'm not sure if this is what you are looking for but I just checked how
 our stuff is set up here and wondered if you have the jvm route mapped
 in the server xml for the tomcat instances you want loadbalanced?
 
 Engine jvmRoute=route_7 name=Catalina defaultHost=localhost
 
 Paul
 

 Tomcats:
 
 All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.
 
 mod_proxy
 
 proxy.conf
 ---
 

 
 ProxyPass balancer://public_web_cluster/
 stickysession=JSESSIONID lbmethod=byrequests
 ProxyPassReverse balancer://public_web_cluster/
 /Location
 /VirtualHost
 
 mod_ajp_proxy
 ===
 
 mod_proxy_ajp.conf
 --

 ProxyPass balancer://pubLB/ stickysession=JSESSIONID nofailover=on
 ProxyPassReverse balancer://pubLB/
 /Location
 /VirtualHost
 


This isn't likely to be the core problem, but it's worth bearing in
mind.  If you're using mod_proxy you need to put:

 stickysession=JSESSIONID|jsessionid

to ensure you're capturing both the URL encoded and cookie based session
ids.  Unfortunately, because RHEL/Centos insist on deploying HTTPD with
the version number set when they released the OS, it's virtually
impossible to tell whether your HTTP is actually 2.2.3, or 2.2.3 +
important fixes, additions etc from 2.2.(n  3).

mod_proxy_ajp was first released in 2.2.3 for example, and many
improvements occurred in later releases.


p



signature.asc
Description: OpenPGP digital signature


Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Gabriel Tabares

have you also set de directive in de workers.properties I suggested?



in your case that should look like

worker.pub-app01.domain=pub-app01
etc



My apologies, I am doing 10 things at the time and missed that bit.

I now have made the change and it seems to be working (fingers crossed). 
I have a couple of people testing it out, so fingers crossed!


It's weird because I've used mod_jk a lot and never had any domain 
specified.


Thanks for your help.

Gabriel



-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Gabriel Tabares

I'm not sure if this is what you are looking for but I just checked how

our stuff is set up here and wondered if you have the jvm route mapped
in the server xml for the tomcat instances you want loadbalanced?

Engine jvmRoute=route_7 name=Catalina defaultHost=localhost

Paul

 
   

Tomcats:

All of them have a jvmRoute of pub-app0X, where X goes from 1 to 5.

mod_proxy

proxy.conf
---

 
   

 ProxyPass balancer://public_web_cluster/
stickysession=JSESSIONID lbmethod=byrequests
 ProxyPassReverse balancer://public_web_cluster/
/Location
/VirtualHost

mod_ajp_proxy
===

mod_proxy_ajp.conf
--
 
   

 ProxyPass balancer://pubLB/ stickysession=JSESSIONID nofailover=on
 ProxyPassReverse balancer://pubLB/
/Location
/VirtualHost

 


This isn't likely to be the core problem, but it's worth bearing in
mind.  If you're using mod_proxy you need to put:

  stickysession=JSESSIONID|jsessionid

   
I have tried both ways and I still get no stickyness. I was trying to 
simplify it in order to check minimise the possibility of errors.



to ensure you're capturing both the URL encoded and cookie based session
ids.  Unfortunately, because RHEL/Centos insist on deploying HTTPD with
the version number set when they released the OS, it's virtually
impossible to tell whether your HTTP is actually 2.2.3, or 2.2.3 +
important fixes, additions etc from 2.2.(n  3).

mod_proxy_ajp was first released in 2.2.3 for example, and many
improvements occurred in later releases.

   


The CentOS version is 2.2.3 + a million patches. The only way to find 
out what they have changed is to go through the changelogs.


It makes things more stable from an API point of view but it surely 
makes hard not only finding out where the issue lies, but also if 
upgrading version will fix it.


Thanks

Gabriel

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Rainer Jung

On 30.06.2010 13:10, Gabriel Tabares wrote:

have you also set de directive in de workers.properties I suggested?



in your case that should look like

worker.pub-app01.domain=pub-app01
etc



My apologies, I am doing 10 things at the time and missed that bit.

I now have made the change and it seems to be working (fingers crossed).
I have a couple of people testing it out, so fingers crossed!

It's weird because I've used mod_jk a lot and never had any domain
specified.


You won't need a domain setting for stickyness to work. There was 
something else wrong with your setup.


Since your configuration looked OK, mod_jk should have logged any 
problems when doing stickyness in its log file.


Regards,

Rainer

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Gabriel Tabares



I now have made the change and it seems to be working (fingers crossed).
I have a couple of people testing it out, so fingers crossed!

OK, it now works correctly. The only issue I have is that Apache is now 
adding .number to the end of each request.


If I go to myapp/forum, the first time I get myapp/forum.1, the next 
time is myapp/forum.2, etc.


Any hints about this?


It's weird because I've used mod_jk a lot and never had any domain
specified.


You won't need a domain setting for stickyness to work. There was 
something else wrong with your setup.


Since your configuration looked OK, mod_jk should have logged any 
problems when doing stickyness in its log file.


I will look into it when I get more time after we launch the product. I 
will then have time to investigate why.


Regards,

Gabriel


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread János Löbb
 workers.properties
 ---
 ps=/
 
 worker.list=pub-app01, pub-app02, pub-app03, pub-app04, pub-app05, pub-lb
 
 worker.pub-app01.type=ajp13
 worker.pub-app01.host=app01
 worker.pub-app01.port=8009
 worker.pub-app01.socket_keepalive=1
 
 worker.pub-app02.type=ajp13
 worker.pub-app02.host=app02
 worker.pub-app02.port=8009
 worker.pub-app02.socket_keepalive=1
 
 worker.pub-app03.type=ajp13
 worker.pub-app03.host=app03
 worker.pub-app03.port=8009
 worker.pub-app03.socket_keepalive=1
 
 worker.pub-app04.type=ajp13
 worker.pub-app04.host=app04
 worker.pub-app04.port=8009
 worker.pub-app04.socket_keepalive=1
 
 worker.pub-app05.type=ajp13
 worker.pub-app05.host=app05
 worker.pub-app05.port=8009
 worker.pub-app05.socket_keepalive=1
 
 worker.ajp13.lbfactor=1
 
 worker.pub-lb.type=lb
 worker.pub-lb.balance_workers=pub-app01,pub-app02,pub-app03,pub-app04,pub-app05
 worker.pub-lb.sticky_session=1
 

- I think this is what worker.list should look like:

worker.list=pub-lb

- You might also need for every balance_worker the 
worker.pub-app0x.redirect=machine_name_where_the_session_from_this_machine_should_be_redirected

- For the load balance worker you might need something like:
worker.pub-lb.sticky_session_force=False
worker.pub-lb.sticky_session=True

I am getting these from my 6.0.18 config, so they might be outdated.

János


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Hello and Tomcat issues with sticky sessions

2010-06-30 Thread Rainer Jung

On 30.06.2010 16:18, János Löbb wrote:

workers.properties
---
ps=/

worker.list=pub-app01, pub-app02, pub-app03, pub-app04, pub-app05, pub-lb

worker.pub-app01.type=ajp13
worker.pub-app01.host=app01
worker.pub-app01.port=8009
worker.pub-app01.socket_keepalive=1

worker.pub-app02.type=ajp13
worker.pub-app02.host=app02
worker.pub-app02.port=8009
worker.pub-app02.socket_keepalive=1

worker.pub-app03.type=ajp13
worker.pub-app03.host=app03
worker.pub-app03.port=8009
worker.pub-app03.socket_keepalive=1

worker.pub-app04.type=ajp13
worker.pub-app04.host=app04
worker.pub-app04.port=8009
worker.pub-app04.socket_keepalive=1

worker.pub-app05.type=ajp13
worker.pub-app05.host=app05
worker.pub-app05.port=8009
worker.pub-app05.socket_keepalive=1

worker.ajp13.lbfactor=1

worker.pub-lb.type=lb
worker.pub-lb.balance_workers=pub-app01,pub-app02,pub-app03,pub-app04,pub-app05
worker.pub-lb.sticky_session=1



- I think this is what worker.list should look like:

worker.list=pub-lb


Aaaah, right. The above won't work, the lb worker needs to be in the 
list, not the members of the lb. with recent versions of mod_jk you 
would find a message in the log, that the worker pub-lb used in your 
JkMount isn't known to mod_jk (because it is missing in the list attribute).



- You might also need for every balance_worker the
worker.pub-app0x.redirect=machine_name_where_the_session_from_this_machine_should_be_redirected


You can use it if you have a very special idea, which node should fail 
over to which other node, but you can omit it and the balancer will 
choose one on a per request basis, if there is a problem with a node.



- For the load balance worker you might need something like:
worker.pub-lb.sticky_session_force=False
worker.pub-lb.sticky_session=True


Those are both defaults.

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org