配置 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.回车,然后会让你输入一些信息,其中秘钥库口令和秘要口令最好输入同一个,并且记下这个口令,其他的随便填即可

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

四、tomcat配置https

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

2.cd到tomcat的conf目录下,打开server.xml文件,搜索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相关教程见以下内容

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

猜你喜欢

转载自www.linuxidc.com/Linux/2017-12/149804.htm