一、Tomcat SSL支持 配置
爲了開啓tomcat對https 安全協議的支持,我們需要生成 服務器端的祕鑰庫 安全證書
1:生成服務器端祕鑰庫
只要安裝了jdk,配置了環境變量即可使用下面命令來生成服務器端的祕鑰庫
keytool -genkey -alias hiynntomcat -keyalg RSA -validity 365 -keystore D:\keystore\tomcat.keystore
-validity 指定創建的證書有效期多少天(默認 90)
命令輸入回車後,會要去輸入密鑰庫的口令,我這裏設置的口令是hiynncas
如圖
再次輸入口令,回車之後需要填寫一系列信息,這裏面比較重要的是第一項,即“名字和姓氏”,這裏其實不是你的名字和姓氏,而是你將來要使用https訪問的服務器的域名(可以直接填寫ip地址,最好用域名比較好),我這裏使用了模擬域名 web01(在hosts 文件 配置的),其他各項其實都可以不填,直接回車
如圖
一路回車之後,詢問是否正確,輸入y然後回車,此時會要求設置密碼
剛纔輸入的口令是密鑰庫的口令,而hiynntomcat這個賬號對應的密碼還沒設置,這裏會要去設置hiynntomcat的密碼
如圖
因爲不想設置過多密碼,這裏直接回車,讓賬號hiynntomcat的密碼和密鑰庫的密碼相同即可
回車後
即表示證書生成成功了,可以去對應的文件夾 找到tomcat.keystore 這個密鑰庫了
2:在Tomcat裏導入該密鑰庫,並開啓Tomcat 對SSL的支持
修改tomcat /conf/server.xml 文件
找到AprLifecycleListener 這個監聽類的配置,將SSLEngine修改爲on
如圖
將AJP/1.3協議關閉掉(也就是直接註釋掉)
如圖
tomcat 監聽端口配置
註釋掉原來的8080 http的端口配置
加入 https 端口的配置
<Connector port="8443" protocol="HTTP/1.1"
connectionTimeout="20000" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="E:\\keystore\\tomcat.keystore" keystorePass="hiynncas" />
說明: 其實用https訪問的話,默認端口是443,如果用443端口,在用https訪問cas服務端時就可以 不加端口號了。然而修改成其他端口號也是可以的,這裏修改爲了8443
注意:上面的keystorePass所需要填寫的是你剛纔設置的祕鑰庫的密碼,例如我之前設置的是hiynncas,所以這裏也是填寫hiynncas。如果填錯會報錯:
java.io.IOException:Keystore was tampered with, or password was incorrect
二、將cas-server服務端部署到tomcat上
1:下載對應版本的cas源碼 cas各版本源碼下載
2:打開cas源碼中 cas-server-webapp 模塊 使用mvn命令 (mvn clean install -Dmaven.test.skip=true) 將其打成war包(cas.war)
3:將打好的war包(cas.war)拷貝到tomcat 的webapps目錄下
4:啓動 tomcat 讓其解壓cas.war
表示啓動成功,此時在tomcat webapp下 會多一個cas文件夾
5:打開cas源碼 打開cas-server-support-jdbc 模塊 使用mvn命令 (mvn clean install -Dmaven.test.skip=true) 將其打成jar包(cas-server-support-jdbc-4.1.3.jar)
6:注意:在webapps\cas\WEB-INF\lib 目錄下 添加c3p0-0.9.2.1.jar,cas-server-support-jdbc-4.1.3.jar,
mchange-commons-java-0.2.3.4.jar,mysql-connector-java-5.1.38.jar 這四個jar包 重要
7:啓動tomcat 在瀏覽器裏輸入地址:https://web01:8443/cas
發現瀏覽器提示該站點是不被站點的原因是,沒有把我們要訪問的這個站點添加到瀏覽器信任的站點中(https訪問就是這樣)。 不要擔心,在繼續訪問即可
然後輸入 賬號和密碼 (Cas 默認的登錄賬號是casuser密碼是Mellon)登錄成功
8:可以修改默認的用戶,也可以添加用戶
找到cas\WEB-INF目錄下的deployerConfigContext.xml文件,直接修改AcceptUsersAuthenticationHandler這個bean的配置即可
如圖:
參考原創地址:https://blog.csdn.net/pucao_cug/article/details/68942734 感謝