在tomcat8.5上配置https

本文环境:

1
2
3
JDK: openjdk version "1.8.0_131"
tomcat: apache-tomcat-8.5.14
证书: 来源于阿里云Symantec免费证书

1.在阿里云上申请免费证书

菜单路径: 产品与服务 -> 安全(云盾) -> SSL证书(应用安全)
进入页面后点击购买证书, 选择品牌处点击Symantec
保护类型处点击1个域名
即可在选择证书类型处看到免费型DV SSL

2.转换pfx证书至jks证书(可选)

下载证书到本地, 解压后包含pfx文件及证书密码文件.
根据网上的说法, pfx证书也是可以直接配置的, 我这里转换了的原因, 是我最开始配置了之后无法访问(其实是我的安全组忘记了打开443端口 ), 所以我没有证实这种方式, 不放心的可以像我一样添加一步转换.
https://help.aliyun.com/knowledge_detail/95496.html?spm=5176.2020520154.cas.24.77e256a7AZy3C3

以上url是阿里云的tomcat证书安装帮助.我们使用其中的转换命令:
keytool -importkeystore -srckeystore a.pfx -destkeystore a.jks -srcstoretype PKCS12 -deststoretype JKS
其中a.pfx是我们下载下来的证书文件, a.jks是我们要输出的证书文件, 命令执行后, 会要求你输入新证书的密码, 推荐与源证书相同.

3.配置tomcat8.5, 开启HTTPS

阿里云的帮助上写的是tomcat7的配置, 我没有尝试, 据说是比较旧的方式
新的配置大致如下:

1
2
3
4
5
6
7
8
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="a.b.c">
<SSLHostConfig hostName="a.b.c">
<Certificate certificateKeystoreFile="/home/files/file.jks"
certificateKeystorePassword="xxx"
type="RSA" />
</SSLHostConfig>
</Connector>

其中:
certificateKeystoreFile是证书文件的地址
certificateKeystorePassword是证书的密码

4.重新启动tomcat即可.