一、首先安裝cas鏡像
1.拉取cas docker鏡像
docker pull apereo/cas
2.啟動容器:
docker run --name cas -p 8443:8443 -p 8442:8080 apereo/cas /bin/sh /cas-overlay/bin/run-cas.sh
等待一會之后,啟動失敗了,報錯是沒有證書,部分錯誤如下:
Caused by: java.lang.IllegalArgumentException: /etc/cas/thekeystore (No such file or directory)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:99)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:216)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1159)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1245)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:603)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1064)
... 27 more
Caused by: java.io.FileNotFoundException: /etc/cas/thekeystore (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(Unknown Source)
二、制作證書
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000
輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什么?
[Unknown]: sso.castest.com
您的組織單位名稱是什么?
[Unknown]: sso
您的組織名稱是什么?
[Unknown]: cas
您所在的城市或區域名稱是什么?
[Unknown]: beijing
您所在的省/市/自治區名稱是什么?
[Unknown]: beijing
該單位的雙字母國家/地區代碼是什么?
[Unknown]: CN
CN=sso.castest.com, OU=sso, O=cas, L=beijing, ST=beijing, C=CN是否正確?
[否]: y
正在為以下對象生成 2,048 位RSA密鑰對和自簽名證書 (SHA256withRSA) (有效期為 10,000 天):
CN=sso.castest.com, OU=sso, O=cas, L=beijing, ST=beijing, C=CN
[正在存儲debug.keystore]
其中密鑰庫命令輸入的是changeit
然后拷貝剛剛生成的證書:
docker cp debug.keystore cas:/etc/cas/thekeystore
最后,重新啟動容器。
docker restart cas
三、瀏覽驗證
訪問:https://localhost:8443/cas/login
官方默認賬號登錄:
用戶名:casuser
密碼:Mellon