Tomcat安装SSL证书
环境
阿里云服务器、CentOS7系统、Tomcat9
申请免费证书
阿里云可申请一年的免费证书,申请证书教程链接为:https://help.aliyun.com/document_detail/98574.html?spm=a2c4g.11186623.6.600.1a2d7597CYqniO
安装SSL证书前提条件
已从阿里云SSL证书服务控制台下载Tomcat服务器证书(包含PFX格式证书文件和TXT格式密码文件)
申请SSL证书时绑定的域名已完成DNS解析、实现了该域名指向您Tomcat服务器的IP地址
域名解析设置完成后执行
ping www.yourdomain.com
命令,如果返回了您所设置解析的主机IP地址,说明解析成功
操作步骤
解压Tomcat证书
每次下载证书都会产生新的密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码
将下载的证书和密码文件拷贝到Tomcat的conf目录下
打开Tomcat/conf/server.xml,在server.xml文件中找到以下参数并进行修改
① 将Connector port修改为80,将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口
修改前:
1
2
3<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />修改后:
1
2
3<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />② 将下面代码复制到server.xml中,certificateKeystoreFile代表证书文件的路径,certificateKeystorePassword为SSL证书的密码
1
2
3
4
5
6
7<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/home/tomcat9/apache-tomcat-9.0.46/conf/证书名称"
certificateKeystorePassword="证书密码"
certificateKeystoreType="PKCS12" />
</SSLHostConfig>
</Connector>③ 找到下面代码并修改
修改前:
1
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改后:
1
<Connector protocol="AJP/1.3" port="8009" redirectPort="443" secretRequired=""/>
④ 在web.xml文件最底部添加以下内容,实现HTTP自动跳转为HTTPS
1
2
3
4
5
6
7
8
9<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>保存server.xml,重启Tomcat
结果
出现锁图标和https说明SSL证书已经安装成功
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeDao's Blog!
评论