配置 Tomcat 启用 HTTPS协议方法(免费证书)

相较于http,https提供了身份验证与加密通信方法。于是,出于安全性考虑,越来越多的网站开始使用https协议。

一、环境准备

为了成功配置https,你需要具备以下环境:

java jdk

tomcat

二、SSL证书简介

要想使用https,首先,我们需要有SSL证书,证书可以通过两个渠道获得:

1.公开可信认证机构

例如CA,但是申请一般是收费的,一般几百到几千一年.

2.自己生成

虽然安全性不是那么高,但胜在成本低.

目前证书有以下常用文件格式:JKS(.keystore),微软(.pfx),PEM(.key + .crt)。其中,tomcat使用JKS格式,nginx使用PEM格式.

虽然两种方式博主都已经实现过,但是这里只讲JKS格式.

三、JKS格式证书生成

好了,我们的jdk要派上用场了

1.打开你的终端或者命令行或者其他黑窗口,输入:

keytool -genkey -v -alias testKey -keyalg RSA -validity 3650 -keystore ~/Lee/test.keystore

alias: 别名 这里起名testKey

keyalg: 证书算法,RSA

validity:证书有效时间,10年

keystore:证书生成的目标路径和文件名,替换成你自己的路径即可,我定义的是~/Lee/test.keystore

2.回车,然后会让你输入一些信息,其中秘钥库口令和秘要口令最好输入同一个,并且记下这个口令,其他的随便填即可

配置 Tomcat 启用 HTTPS协议方法(免费证书)

3.在你刚才的目标路径里拿到生成好的test.keystore.

四、tomcat配置https

1.把keystore证书上传到你的tomcat服务器上(如果你的tomcat在本地,那么不移动也可以),并记下证书所在路径.

2.cd到tomcat的conf目录下,打开server.xml文件,搜索https找到下面这项:

配置 Tomcat 启用 HTTPS协议方法(免费证书)

tomcat配置文件

3.先去掉注释,然后将keystoreFile和keystorePass处替换成你自己的证书路径和生成证书时的口令即可.

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS" keystoreFile="你的keystore路径" keystorePass="生成证书时的口令"  />

port: https的端口,默认8443

clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证keystoreFile

keystoreFile: keystore证书的路径

keystorePass: 生成keystore时的口令

4.启动tomcat,然后就可以使用https和8443端口访问你的服务了! 

更多Tomcat相关教程见以下内容

CentOS 6.6下安装配置Tomcat环境 

RedHat Linux 5.5安装JDK+Tomcat并部署Java项目   

Tomcat权威指南(第二版)(中英高清PDF版+带书签)   

Tomcat 安全配置与性能优化  

Linux下使用Xshell查看Tomcat实时日志中文乱码解决方案  

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤  

Ubuntu 16.04下安装Tomcat 8.5.9 

Ubuntu 16.04安装Tomcat 8 图解 

Tomcat配置文件server.xml详解 

Tomcat单机多实例部署-多项目部署 

Tomcat 的详细介绍请点这里
Tomcat 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/36df8c21a9affcc90ffba859d13ae2b7.html