目录

搭建一个CAS服务

概述

近期需要接入公司内部的 CAS 服务,但是因为公司内的测试环境不太丝滑,为了可以在本地进行一些测试,因此考虑在本地部署一套 CAS 的服务,以此作为验证的服务。

实践

CAS 的部署,现在可以支持很多方式,比较方便的显然就是直接通过 Docker 来搭建,或者如果有 Kubernetes 集群的话,也可以通过官方的 Helm 来进行部署。

虽然用 Docker 可以起来一个 CAS 服务,但是网上很多资料都有些过时了,最后只能找到用 v5.0.4 的镜像版本可以直接部署成功的。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
docker pull apereo/cas:6.6.4
docker run --name cas -p 8443:8443 -p 8442:8080 apereo/cas:6.6.4 /bin/sh /cas-overlay/bin/run-cas.sh
docker run --name cas apereo/cas:6.6.4
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000
docker cp debug.keystore cas:/etc/cas/thekeystore
docker restart cas

docker run -p 80:8080 -p 443:8443 -d --name="cas" apereo/cas:v5.2.2

docker run -h host --name cas -p 8443:8443 -p 8878:8080 apereo/cas:v5.0.4 /bin/sh /cas-overlay/bin/run-cas.sh

docker pull apereo/cas:v5.3.10
docker run -h host --name cas -p 8443:8443 -p 8080:8080 apereo/cas:v5.3.10 /bin/sh /cas-overlay/bin/run-cas.sh
keytool -genkeypair -alias cas -keyalg RSA -keypass changeit \
        -storepass changeit -keystore ./thekeystore \
        -dname "CN=cas.example.org,OU=Example,OU=Org,C=AU" \
        -ext SAN="dns:example.org,dns:localhost,ip:127.0.0.1"

docker cp thekeystore cas:/etc/cas/thekeystore
echo '127.0.0.1 cas.example.org' >> /etc/hostsc
docker restart cas
https://127.0.0.1:8443/cas/login
casuser/Mellon

测试

参考资料

  1. CAS Docker Installation
  2. 常用的Java Keytool Keystore命令
警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。