为了开启tomcat对https 安全协议的支持,我们需要生成 服务器端的秘钥库 安全证书
只要安装了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 这个密钥库了
修改tomcat /conf/server.xml 文件
找到AprLifecycleListener 这个监听类的配置,将SSLEngine修改为on
如图
将AJP/1.3协议关闭掉(也就是直接注释掉)
如图
tomcat 监听端口配置
注释掉原来的8080 http的端口配置
加入 https 端口的配置
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
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 感谢