先描述下出現的問題,截圖如下:
出現該問題的原因可以通過F12查看Network找到,即http和https兩個協議開頭的url在不停的跳轉,最後就出現了上圖所示的重定向循環錯誤,導致頁面崩潰。
解決方案很簡單:分爲兩個步驟:
1、製作證書並通過配置讓tomcat支持https協議;
2、cas客戶端使用的幾個url中把相應的http改爲https,以及http的8080改爲https的8443
具體操作如下:
1、在命令提示符窗口,進入Tomcat目錄,執行以下命令:
keytool -genkey -alias cas -keyalg RSA -keypass 123456 -storepass 123456 -keystore c:/cas.keystore -validity 36500
通過以上步驟生成cas.keystore證書文件
將servlet.xml以下的的註釋打開
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector protocol="org.apache.coyote.http11.Http11Protocol" port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="c:/cas.keystore" keystorePass="changeit"/>
到這一步訪問https://localhost:8443/
一般Tomcat默認的SSL端口號是8443,但是對於SSL標準端口號是443,這樣在訪問網頁的時候,直接使用https而不需要輸入端口號就可以訪問,如https://localhost/
2、修改cas客戶端:找到應用的web.xml中所有http://localhost:8080的字符串,替換成https://localhost:8443即可!