[jboss-user] [Clustering/JBoss] - Re: ClusteredSingleSignOn problem
roberto
do-not-reply at jboss.com
Mon Jul 17 12:21:52 EDT 2006
This are my configuration steps for both node:
Step #1: Download Apache2 Web Server version 2.0.58 and installed as default
Step #2: Download mod_jk-apache-2.0.55.so
Step #3: Setup Apache
Add this line at the very bottom in APACHE_HOME/conf/httpd.conf :
| Include conf/mod-jk.conf
|
create a new mod-jk.conf like this:
| # Load mod_jk module
| # Specify the filename of the mod_jk lib
| LoadModule jk_module modules/mod_jk.so
|
| # Where to find workers.properties
| JkWorkersFile conf/workers.properties
|
| # Where to put jk logs
| JkLogFile logs/mod_jk.log
|
| # Set the jk log level [debug/error/info]
| JkLogLevel info
|
| # Select the log format
| JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
|
| # JkOptions indicates to send SSK KEY SIZE
| JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
|
| # JkRequestLogFormat
| JkRequestLogFormat "%w %V %T"
|
| # Mount your applications. /* means All application
| JkMount /* loadbalancer
|
| # You can use external file for mount points.
| # It will be checked for updates each 60 seconds.
| # The format of the file is: /url=worker
| # /examples/*=loadbalancer
| #JkMountFile conf/uriworkermap.properties
|
| # Add shared memory.
| # This directive is present with 1.2.10 and
| # later versions of mod_jk, and is needed for
| # for load balancing to work properly
| JkShmFile logs/jk.shm
|
| # Add jkstatus for managing runtime data
| <Location /jkstatus/>
| JkMount jkstatus
| Order deny,allow
| Deny from all
| Allow from 127.0.0.1
| </Location>
|
Configure workers.properties using Sticky Session
(i'm creating a cluster on the same machine)
| # Define list of workers that will be used
| # for mapping requests
| worker.list=loadbalancer,status
| # Define Cluster1
| worker.node1.port=8009
| worker.node1.host=127.0.0.1
| worker.node1.type=ajp13
| worker.node1.lbfactor=1
| #worker.node1.local_worker=1 (1)
| worker.node1.cachesize=10
|
| # Define Cluster2
| worker.node2.port=8309
| worker.node2.host=127.0.0.1
| worker.node2.type=ajp13
| worker.node2.lbfactor=1
| #worker.node2.local_worker=1 (1)
| worker.node2.cachesize=10
|
| # Load-balancing behaviour
| worker.loadbalancer.type=lb
| worker.loadbalancer.balanced_workers=node1, node2
| worker.loadbalancer.sticky_session=1
| worker.loadbalancer.local_worker_only=1
| worker.list=loadbalancer
|
| # Status worker for managing load balancer
| worker.status.type=status
|
Step #4: Setup Tomcato inside JBoss
in JBOSS_HOME\server\<my node>\deploy\jbossweb-tomcat55.sar\server.xml
added jvmRoute to match workers (node1 and node2)
| <Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
| ....
| </Engine>
|
and uncomment ClusteredSingleSignOn valve
| ...
| <!-- Uncomment to enable single sign-on across web apps
| deployed to this host AND to all other hosts in the cluster.
|
| If this valve is used, do not use the standard Tomcat SingleSignOn
| valve shown above.
|
| Valve uses a JBossCache instance to support SSO credential
| caching and replication across the cluster. The JBossCache
| instance must be configured separately. By default, the valve
| shares a JBossCache with the service that supports HttpSession
| replication. See the "tc5-cluster-service.xml" file in the
| server/all/deploy directory for cache configuration details.
|
| Besides the attributes supported by the standard Tomcat
| SingleSignOn valve (see the Tomcat docs), this version also
| supports the following attributes:
|
| cookieDomain see above
|
| treeCacheName JMX ObjectName of the JBossCache MBean used to
| support credential caching and replication across
| the cluster. If not set, the default value is
| "jboss.cache:service=TomcatClusteringCache", the
| standard ObjectName of the JBossCache MBean used
| to support session replication.
| -->
| <!-- -->
| <Valve className="org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn" debug="2" />
| ....
|
|
Step #5: Setup Tomcato inside JBoss
in JBOSS_HOME\server\<my node>\deploy\jbossweb-tomcat55.sar\META-INF\jboss-service.xml
Finally, I need to tell Tomcat to add the jvmRoute value to its session cookies so that mod_jk can route incoming requests.
So I change UseJK from false to true
| ...
| <attribute name="UseJK">true</attribute>
| ...
|
Step #6: Set loopback to true for UDP problem on windows machine
Step #7: in my web.xml
| ...
| <distributable></distributable>
| ...
|
and on my jboss-web.xml
| ...
| <replication-config>
| <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
| <replication-granularity>SESSION</replication-granularity>
| </replication-config>
| ...
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3958524#3958524
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3958524
More information about the jboss-user
mailing list