Hi,
I was working with sakai and CAS and I got it working fulfilled.
Now, I want to use clustering and load balancing to improve the server
performance, but I have some problems.
Before to my problems, my configuration:
- Note: all the instances are in the same computer
- Apache 2.2 to load balancing, with the following configuration:
<Proxy balancer://cluster>
BalancerMember ajp://168.176.135.60:8009 route=server0
BalancerMember ajp://168.176.135.60:8010 route=server1
</Proxy>
<Location />
ProxyPass balancer://cluster/ stickysession=JSESSIONID nofailover=Off
</Location>
<Location /balancer-manager>
SetHandler balancer-manager
AuthType Basic
AuthName "Cluster manager "
AuthUserFile /home/edwintriana/server/apache_2-2/conf/.htpasswd
Require valid-user
</Location>
- In each configuration of sakai-login-tool
<!-- start CAS-Section 0 -->
<context-param>
<param-name>edu.yale.its.tp.cas.proxyUrl</param-name>
<param-value>
https://telemedic60.telemedic.unal.edu.co:8443/cas/proxy</param-value>
</context-param>
<!-- end CAS-Section 0 -->
<filter>
<filter-name>sakai.request</filter-name>
<filter-class>org.sakaiproject.util.RequestFilter</filter-class>
</filter>
<filter>
<filter-name>sakai.request.container</filter-name>
<filter-class>org.sakaiproject.util.RequestFilter</filter-class>
<init-param>
<param-name>tool.placement</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>remote.user</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>sakai.request</filter-name>
<!--<servlet-name>sakai.login</servlet-name>-->
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>sakai.request.container</filter-name>
<servlet-name>sakai.login.container</servlet-name>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<!-- start CAS-Section 1 -->
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter
</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.wrapRequest
</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl
</param-name>
<param-value>
https://telemedic60.telemedic.unal.edu.co:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.logout
</param-name>
<param-value>
https://telemedic60.telemedic.unal.edu.co:8443/cas/logout</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl
</param-name>
<param-value>
https://telemedic60.telemedic.unal.edu.co:8443/cas/proxyValidate
</param-value>
</init-param>
<!-- Minor change here! We've made a mistake between
https://telemedic60.telemedic.unal.edu.co:8443/ and [SAKAI]
server. The proper value is [SakaiServer] because CAS have to
callback this machine after authentification -->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName
</param-name>
<param-value>telemedic60.telemedic.unal.edu.co:8080
</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.proxyCallbackUrl
</param-name>
<param-value>
https://telemedic60.telemedic.unal.edu.co:8443/sakai-login-tool/CasProxyServlet
</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS Receipt Cacher</filter-name>
<filter-class>
edu.yale.its.tp.cas.client.filter.StaticCasReceiptCacherFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Receipt Cacher</filter-name>
<url-pattern>/container</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/container</url-pattern>
</filter-mapping>
<!-- end CAS-Section 1 -->
<servlet>
<servlet-name>sakai.login</servlet-name>
<servlet-class>org.sakaiproject.login.tool.LoginTool</servlet-class>
<init-param>
<param-name>container</param-name>
<param-value>/sakai-login-tool/container</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- start CAS-Section 2 -->
<servlet>
<servlet-name>CasProxyServlet</servlet-name>
<servlet-class>edu.yale.its.tp.cas.proxy.ProxyTicketReceptor
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CasProxyServlet</servlet-name>
<url-pattern>/CasProxyServlet</url-pattern>
</servlet-mapping>
<!-- end CAS-Section 2 -->
<servlet>
<servlet-name>sakai.login.container</servlet-name>
<servlet-class>org.sakaiproject.login.tool.ContainerLogin
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- map the container login, and then cause it to trigger container
authentication -->
<servlet-mapping>
<servlet-name>sakai.login.container</servlet-name>
<url-pattern>/container/*</url-pattern>
</servlet-mapping>
Now the PROBLEM:
When I write the url en my browser
http://telemedic60.telemedic.unal.edu.co:8080/portal and I got the gateway
of sakai. then i click in the cas button y I am redirected to the cas
server, I put my name and password, than I am redirected to sakai, but, I am
redirected to the cas logout automatically.
I don't what is wrong.
I appear that you understand me.
Thanks!!!
Edwin Miguel Triana
_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas