No problem, hope that it helps out!

OH - proxyport=443 is important too, forgot to list that one earlier.



Overall, this has worked beautifully for us :) And it makes it MUCH
simpler too because we now have one SSL cert to change in one place,
instead of having to redo java keystores on all of the different Tomcat
instances.

The one thing that we've run into with doing things this way is that the
first time you'd log into our campus portal from
 CAS, the browser would timeout and would eventually end up at the url
https://my.millikin.edu:80/muportal/secure/ . However, if you'd try to
go to the campus portal afterwards, it would go through fine.

It turned out to be something I wouldn't have ever expected - the 
code in index.jsp that strips the ?ticket=.... stuff out of the URL 
after you log in:


  } else if ((!StringUtil.isNull(queryString)) &&
(queryString.indexOf("ticket") > -1)) {
    queryString =
queryString.substring(0,queryString.indexOf("ticket")-1);
    response.sendRedirect("/muportal/secure/" + queryString);
  }

But, after changing it to

response.sendRedirect("https://"; +
String.valueOf(request.getServerName()) + "/muportal/secure/" +
queryString);


it worked fine. (We have this code in there because otherwise the
"?ticket=xxxxx" stuff messes with Google Analytics and JavaMelody.)

 

Chris



>>> Stephan Arts <[email protected]> 02/09/16 8:35 AM >>>
Thanks, this appears to be a neat solution :-)


Cheers,


Stephan


On Tue, Feb 9, 2016 at 2:59 PM, Christopher Myers
<[email protected]> wrote:
What we do is:

internet(https) -> (https)load balancer(http) -> tomcat (http)

Basically, the load balancer talks https to the internet and http to
tomcat, doing the SSL offloading.

This is what the connector in our server.xml file looks like:

    <Connector port="8080" protocol="HTTP/1.1" 
               maxThreads="500"
               compression="on" 
               URIEncoding="UTF-8" 
             proxyPort="443"
             secure="true"
             scheme="https"
             SSLEnabled="false"
             />

the important parts are the secure=true and scheme=https parts. We're on
CAS 4.0.x.

Chris




>>> Misagh Moayyed <[email protected]> 02/09/16 4:04 AM >>>
The ssl warning is actually  good test to demonstrate that something is
broken and dysfunctional in your deployment. As Scott said, you will
need to find a way to relay the SSL context back to the application
server. The warning shows up only if that chain is broken. You’ll need
to consult apache/tomcat.load balancer docs to see how to configure your
containers. There is nothing in CAS that requires/enables you do this,
other than the expectation that HTTPS is available by simply checking
the request. (Which is the piece you can turn off, but should not since
the problem is elsewhere) 


 - Misagh 
 
On Feb 9, 2016, at 9:29 AM, Stephan Arts <[email protected]> wrote:

My workaround was indeed to do this:

internet -[HTTPS]> load-balancer -[HTTP]> apache -[HTTPS]> tomcat...


I don't like it either, since it requires me fiddling around with the
java keystore and self-signed certificates, which is an administrative
overhead with no added value when it comes to security.


I'd much rather have apache provide the X-Forwarded-Proto header set to
HTTPS and instruct tomcat to tell cas 'every thing is fine, walk along'.


Unfortunately, that does not work. (CAS 4.0.7) - Is there a way I can
suppress the HTTPS warning? There really is no reason to encrypt the
data going over the loopback device.


Cheers,


Stephan



On Mon, Feb 8, 2016 at 6:55 PM, Scott Battaglia
<[email protected]> wrote:
If something is fronting CAS that is terminating SSL, you should be able
to indicate to the servlet container hosting CAS that it really is a
secure connection.  Does that not work? (sorry I can't remember the
specifics of it)

On Mon, Feb 8, 2016 at 12:52 PM, Robert <[email protected]>
wrote:
Hi MisaghOn Monday, February 8, 2016 at 12:20:57 PM UTC-5, Misagh Moayyed wrote:
On Feb 8, 2016, at 8:14 PM, Robert <[email protected]> wrote:

Our current Production Setup
For CAS3.x.x having SSL was not required to support Single Sign On. This
was perfect as we have Reverse Proxy Servers fronting our Application
Server farm and it took care of providing all TLS for our user facing
interface. All handshake between the reverse-proxy server and JBOSS/ IBM
WAS server farm was “as if” no SSL was in place. This also helped us
immensely in terms of performance, as all SSL encryption/decryption was
handled on our Reverse Proxy Servers. And helped cut cost for our
clients in terms of maintaining and purchasing certificates to bare
essential.




All of that still true in CAS4.


 

Now, we are trying to work with CAS4 
We found out that it requires HTTPS or else Single Sign On just won’t
work. 




HTTPS is always required by default. How you satisfy that requirement
remains the same across all CAS versions. There are not considerations
on the CAS side to dictate a particular form of container configuration.



Can you help us understand as to how do we make this new solution work
within our production sites?
1.            Will this not force us to have certificates deployed on
each and every Application Server? How do we make our clients understand
the cost benefit of doing so when having Reverse Proxy Fronting was
already taking care of this? 
2.            What happens where the server farms are running behind
3-Zone architecture?
3.            What would be performance hit on Application Server when
during peak load the server would also have to deal with TLS over and
above the work that it is currently supposed to be handling?
 

Can we turn off this HTTPS requirement to support SSO with CAS4? If so
can you help us as to where to begin.




You can enable SSO without HTTPS. This is of course a bad idea. 




Our situation has become very urgent, so we don't mind if we have to
write Java code and change XML configuration.


Thanks for your help.



 -- 
 You received this message because you are subscribed to the Google
Groups "CAS Community" group.
 To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
 Visit this group at
https://groups.google.com/a/apereo.org/group/cas-user/.
 







 -- 
 You received this message because you are subscribed to the Google
Groups "CAS Community" group.
 To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
 Visit this group at
https://groups.google.com/a/apereo.org/group/cas-user/.
 




 -- 
 You received this message because you are subscribed to the Google
Groups "CAS Community" group.
 To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
 Visit this group at
https://groups.google.com/a/apereo.org/group/cas-user/.
 





-- 
"The number of Unix installations has grown to 10, with more expected."
-- The Unix Programmer's Manual, 2nd Edition, June, 1972

 


 -- 
 You received this message because you are subscribed to the Google
Groups "CAS Community" group.
 To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
 Visit this group at
https://groups.google.com/a/apereo.org/group/cas-user/.
 




 
 -- 
 You received this message because you are subscribed to the Google
Groups "CAS Community" group.
 To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
 Visit this group at
https://groups.google.com/a/apereo.org/group/cas-user/.
 


 
 -- 
 You received this message because you are subscribed to the Google
Groups "CAS Community" group.
 To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]"The number of Unix installations has 
grown to 10, with more expected."
-- The Unix Programmer's Manual, 2nd Edition, June, 1972

 
 
 -- 
 You received this message because you are subscribed to the Google
Groups "CAS Community" group.
 To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
 Visit this group at
https://groups.google.com/a/apereo.org/group/cas-user/.
 

-- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.

Reply via email to