开发时需要用到 SSO 单点登录,一般都会用 Jasig 的 CAS,而 CAS Server 默认要求它运行的服务器启用 https(CAS Client 不强制要求使用 https),所以就有必要在 Tomcat 中启用 https 了。下面介绍在开发环境中自己生成 ssl 的证书,并在 Tomcat 里启用 https。
1. 生成 keystore
cert 证书的密码大家基本上都使用 changeit
,JVM 的 security/cacerts 的密码也是 changeit,虽然下面演示使用的密码是 123456,但是为了方便最好还是用 changeit 的好,否则在后面 cas 一节中导入 cert 证书时会报错,当然也有办法解决。
1 | 执行命令: |
- -alias xtuer:
xtuer
只是一个名字,可以随意取,不过在使用 keystore 生成 cert 文件时需要这个名字,不要忘了就好- 在 hosts 文件中添加: 127.0.0.1 www.xtuer.com,因为生成 keystore 时 first and last name 使用了 www.xtuer.com,使用域名而不是 localhost,是为了在局域网中方便多台机器测试 CAS 的功能,CAS 的后续文章中会涉及到
2. 复制 server.keystore
- 在
<TOMCAT_HOME>
目录下新建目录 keystore - 拷贝 server.keystore 到目录
<TOMCAT_HOME>
/keystore
3. 修改 server.xml
修改 <TOMCAT_HOME>/conf/server.xml
文件,添加 https 的 Connector
1 | <Connector port="8443" |
- keystoreFile 指向文件
/keystore/server.keystore 文件 - keystorePass 就是刚才生成 certificate keystore 的密码
4. 测试 https
- 访问 https://www.xtuer.com:8443/
- 提示有不安全的证书,接受证书
- 如能正确访问,则 Tomcat 启用 https 成功