Hi,

I've got two cas servers behind a load balancer, in active/passive mode, doing 
SSL offload so that the load balancer uses plaintext 8080 to talk to the cas 
servers.

I got cas to listen on port 8080 with this in server.xml:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               secure="true"
               maxThread="150" scheme="https"
               proxyName="cas.university.edu"
               proxyPort="443" />

My cas.properties looks like this:

# Services Management Web UI Security
server.name=https://cas.university.edu
server.prefix=${server.name}/cas
cas.securityContext.serviceProperties.service=${server.prefix}/services/j_acegi_cas_security_check
# Names of roles allowed to access the CAS service manager
cas.securityContext.serviceProperties.adminRoles=ROLE_ADMIN
cas.securityContext.casProcessingFilterEntryPoint.loginUrl=${server.prefix}/login
cas.securityContext.ticketValidator.casServerUrlPrefix=${server.prefix}
# IP address or CIDR subnet allowed to access the /status URI of CAS that 
exposes health check information
cas.securityContext.status.allowedSubnet=140.232.0.0/25

I have the LB configured to use only one cas server.

If I go to the services management portal, it prompts to auth, then hangs for a 
while at  
https://cas.university.ed/cas/services/j_acegi_cas_security_check?ticket=ST-9-IRcTi7aFIe2NaYdJdBa9-server.university.edu,
 and then dumps this:
HTTP Status 500 - java.net.SocketException: Unexpected end of file from server

type Exception report

message java.net.SocketException: Unexpected end of file from server

description The server encountered an internal error that prevented it from 
fulfilling this request.

exception

java.lang.RuntimeException: java.net.SocketException: Unexpected end of file 
from server
                
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:341)
                
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
                
org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
                
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)
                
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticateNow(CasAuthenticationProvider.java:140)
                
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticate(CasAuthenticationProvider.java:126)
                
org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
                
org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthentication(CasAuthenticationFilter.java:242)
                
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:194)
                
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
                
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
                
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
                
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
                
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
                
com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:63)
root cause

java.net.SocketException: Unexpected end of file from server
                sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:718)
                sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
                sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:715)
                sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
                
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1322)
                
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
                
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:326)
                
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
                
org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
                
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)
                
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticateNow(CasAuthenticationProvider.java:140)
                
org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticate(CasAuthenticationProvider.java:126)
                
org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
                
org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthentication(CasAuthenticationFilter.java:242)
                
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:194)
                
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
                
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
                
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
                
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
                
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
                
com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:63)
note The full stack trace of the root cause is available in the Apache 
Tomcat/7.0.42 logs.

Apache Tomcat/7.0.42

The apache logs just show:

Jan  8 13:52:53 cas: ERROR Unexpected end of file from server

Any ideas?

Thanks,

Aaron

---
Aaron Bennett
Manager of Systems Administration
Clark University ITS
W:508.793.7315


-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to