cas的服務器搭建

我們這裏採用的Tomcat版本爲8.0.24,大家可以到http://tomcat.apache.org網站下載這個版本的Tomcat,對於要安裝CAS服務器的機器我們這裏將其命名爲S1。

打開服務器S1,首先要確保服務器已安裝好1.5或以上版本的JDK,並設置好JAVA_HOME的環境變量。

在S1機器上的D盤(我們這裏採用D盤,實際上可以採用其它盤)根目錄下新建一個名爲cas-server的目錄,將我們之前下載的Tomcat 8.0.24解壓放在cas-server目錄下(我們下載的Tomcat是zip包,不需要安裝版本);再將之前下載的CAS服務器端發行包解壓,找到其中的modules下的cas-server-webapp-3.4.6.war文件,改名爲cas.war,並將這個war文件直接放到前面解壓的Tomcat的webapps目錄下,經過這兩步,文件的擺放就完成了,在運行這個Tomcat之前,我們還需要生成這個Tomcat運行HTTPS協議所需要的證書。

我們需要在windows dos字符界面下調用JDK自帶的keytool工具生成證書。在運行窗口輸入cmd,打開windows doc字符界面,切換到與當前環境變量JAVA_HOME相同的JDK所在目錄的bin目錄下,輸入下面這段命令。

keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore d:\cas-server\server.keystore -validity3600

關於keytool工具的使用,這裏簡單的整理了一下,可以對照下面表格的解釋,理解上面命令的含義。

Keytool選項

作用描述

-genkey

在用戶主目錄中創建一個默認文件".keystore",還會產生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書(我們這裏明確指定在d:\cas-server目錄下創建一個名爲server.keystore的文件)

-alias

產生別名(我們這裏的別名爲tomcat)

-keystore

指定密鑰庫的名稱(產生的各類信息將不存儲在用戶主目錄下的.keystore文件中,我們這裏明確指定在d:\cas-server目錄下創建一個名爲server.keystore的文件)

-keyalg

指定密鑰的算法(我們這裏使用的算法是RSA)

-validity

指定創建的證書有效期多少天(我們這裏是3600天,也就是10年)

-keysize

指定密鑰長度

-storepass

指定密鑰庫的密碼(我們這裏的密碼爲changeit)

-keypass

指定別名條目的密碼(我們這裏的密碼爲changeit)

-dname

指定證書擁有者信息例如: "CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"(我們這裏不輸入,默認在命令執行時提示用戶輸入)

-list

顯示密鑰庫中的證書信息 keytool -list -v -keystore 別名 -storepass ....

-v

顯示密鑰庫中的證書詳細信息

-export

將別名指定的證書導出到文件 keytool -export -alias 別名 -file 文件名.crt

-file

參數指定導出到文件的文件名

-delete

刪除密鑰庫中某條目 keytool -delete -alias 別名 -keystore sage

-keypasswd

修改密鑰庫中指定條目口令 keytool -keypasswd -alias 別名 -keypass .... --new .... -storepass ...

-keystore

別名

-import

將已簽名數字證書導入密鑰庫 keytool -import -alias 別名 -keystore 證書名-file 文件名(可以加.crt 後綴)

上面的命令輸入執行後,會有一系列的問題需要我們回答,這裏最重要的就是第一個問題,如果您是中文版JDK,那麼第一個問題就是"您的名字與姓氏是什麼?",這裏我們需要輸入當前CAS服務器的機器名(我們這裏輸入的是當前機器名s1),或者是可以指到當前機器的域名(比如bstek.com),CAS官方不推薦使用IP地址。第一個問題回答妥善後,後面的問題就可以隨便填寫了(當然這裏使用keytool生成的證書是不會被瀏覽器認可的,所以後續在瀏覽的時候瀏覽器會提示當前使用的證書不信任,實際生產環境當中可以考慮到CA上申請一個瀏覽器認可的證書)。

所有問題回答完成確認時,我們輸入"y"即可,這樣在我們的d:\cas-server目錄下就有一個名爲server.keystore文件產生。

將這個產生的server.keystore文件移到我們的Tomcat所在目錄當中,我們這裏的放在d:\cas-server\ apache-tomcat-8.0.24目錄下。接下來,需要修改Tomcat配置文件,打開其支持HTTPS協議配置。

用文本編輯器打開Tomcat所在目錄下的conf目錄下的server.xml文件,找到下面這段被註釋掉的內容。

<!--
  <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
 -->

將前後註釋標記刪除,同時添加對之前生成的keystore文件的引用信息,就是在其結尾處添加keystoreFile與keystorePass這兩個屬性,完整內容如下:

<Connectorport="8443"protocol="HTTP/1.1"SSLEnabled="true"maxThreads="150"scheme="https"secure="true"clientAuth="false"
 sslProtocol="TLS"keystoreFile="server.keystore"keystorePass="changeit"/>

這裏需要注意的就是你在生成這個keystore時密碼,如果不是changeit,那麼請修改爲你生成keystore時採用的密碼。

保存這個server.xml文件,運行Tomcat,如果沒有錯誤,就可以打開瀏覽器,輸入https://S1:8443/cas/login,登錄界面如下圖所示。


CAS-server的默認驗證規則:只要用戶名和密碼相同就認證通過(僅僅用於測試,生成環境需要根據實際情況修改),輸入admin/admin 點擊登錄,就可以看到登錄成功的頁面:


大家有什麼問題,可以貼在下面,我會一一給大家解答!

發佈了38 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章