Cas在Tomcat下开启Https协议部署

Cas在Tomcat下开启Https协议部署时,如果应用部署在另外的tomcat下,访问应用时,CAS端会不断生成新的票据,循环输出一下日志:

012-03-28 10:22:47,718 INFO [org.jasig.cas.CentralAuthenticationServiceImpl] - Granted service ticket [ST-20-0QEZdcWfNbBZZwAxLJTV-cas] for service [http://localhost:8080/demo/j_spring_security_check] for user [02000001]
2012-03-28 10:22:47,734 INFO [org.jasig.cas.CentralAuthenticationServiceImpl] - Granted service ticket [ST-21-0ZSmhTNBuafugWPMGhbs-cas] for service [http://localhost:8080/demo/j_spring_security_check] for user [02000001]

而在应用端也会循环输出一下日志:

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

这是因为httpclient去访问https URL时,由于没有证书,导致访问失败。

解决方法:将安全证书导入应用端的JRE安全中

另外:

引起HTTPS hostname wrong: should be <localhost> 的原因这样子的:
   在生成证书的时候,需要指定CN(Common name),这个很重要,千万不要随便指定。只能是域名,而不能是IP之类的。  比如指定了www.rsky.com.cn,那么
通过Java应用程序访问 https://www.rsky.com.cn是正常的,但是https://10.*.*.*就不行,访问的域名必须是www.rsky.com.cn
而且CN的名字还不能指定为IP,我出现的问题就是把它指定为IP了,真是想不到的。

猜你喜欢

转载自dfch84.iteye.com/blog/1466019