輕松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端


概要說明


CAS要求,必須使用HTTPS的服務,否則就只等實現登錄,無法實現單點登錄。
科普下HTTPS,網站有HTTP和HTTPS兩種協議。HTTP是瀏覽器到網站之間是明文傳輸,比如你輸入帳號名和密碼點擊登錄,那帳號名和密碼在中間傳輸過程中有泄漏的風險。HTTPS是瀏覽器和網站之間加密傳輸,使用的非對稱加密方式,所以非常安全。目前各大網站的登錄基本都是用了HTTPS服務。

在上一篇文章《輕松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER 服務端》中,我們搭建了HTTP的CAS SERVER,在登錄畫面中有2個錯誤提示,其中一個就是使用了非加密協議的錯誤。本文就是來解決這個問題的。

 

操作步驟


1. 設置域名
SSL證書是基於域名的,如果您有自己的域名,請將域名指向到您的測試服務器。如果您沒有自己的域名,那自己模擬個域名吧,暫且使用 cas.example.org 。在測試的電腦上,設置hosts將該域名指向到當前服務器。具體設置方式如下:

打開文件C:\Windows\System32\drivers\etc\hosts添加如下行

127.0.0.1    cas.example.org


2. 生成SSL證書
如果是正式對外的話,需要購買正式的SSL證書,阿里雲和騰訊雲都有。本文只是用於測試,只需要本地生成個SSL證書即可。購買的證書和自己生成證書的差別么,其一沒那么的安全,其二瀏覽器不識別,訪問時會有安全警告。

生成證書的步驟是

d:\
cd 
D:\casoverlay
keytool -genkey -alias cas -keyalg RSA -keysize 2048 -keypass changeit -storepass changeit -keystore casexample.keystore -dname "CN=http://cas.example.org/,OU=casexample.com,O=casexample,L=casexample,ST=casexample,C=CN" -deststoretype pkcs12

 

3. Tomcat開啟HTTPS服務,導入證書
Tomcat默認情況下是打開HTTP服務的,HTTPS的服務是需要手動開發的,具體打開步驟如下:

打開文件D:\casoverlay\apache-tomcat-8.5.31\conf\server.xml,增加如下配置

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
  <SSLHostConfig>
    <Certificate certificateKeystoreFile="D:/casoverlay/casexample.keystore"
      certificateKeystorePassword="changeit"
      type="RSA" />
  </SSLHostConfig>
</Connector>

 

4. 啟動Tomcat

執行D:\casoverlay\apache-tomcat-8.5.31\bin\startup.bat

 

5. 訪問CAS服務並登錄

https://cas.example.org:8443/cas

可以看到安全的錯誤提示已經沒有了
輸入帳號名和密碼:casuser/Mellon

恭喜您,HTTPS的CAS服務器已經搭建好了

 

最后,大家想更多CAS了解的話,可以來[CAS中文文檔站點](http://www.cassso-china.cn)(http://www.cassso-china.cn)來瞅瞅。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM