怎么在Linux系统下对Tomcat9安装SSL证书?
Posted DreamMakers
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在Linux系统下对Tomcat9安装SSL证书?相关的知识,希望对你有一定的参考价值。
怎么在Linux环境下对Tomcat9安装SSL证书?
背景
现在给后台服务器进行HTTPS升级是很常见的事情,在之前的文章中已经针对怎么购买域名、申请证书和进行nginx服务器HTTPS升级进行了详细的介绍,想了解的可以阅读下面的这个文章。
如何申请域名、购买证书并在Nginx服务器上实现HTTPS?
在这篇文章中之所以说下如何在Tomcat9上进行安装SSL证书,是因为工作中都是接触的在Nginx服务器上安装证书,但是对于Tomcat上安装证书一直没有搞过,好奇是咋弄的,所以今天抽出时间实践了一下,做下记录,也给需要的朋友有个参考。
预热:申请和下载SSL证书?
关于证书的申请上面的文章已经给出了方式,而且是免费的,不过只是一年有效期哦。大家可以到阿里云平台上进行申请,当然腾讯云也有免费的域名,看大家的需要了。阿里云的证书是需要单独申请的,而腾讯云是在你首次购买域名的时候附带赠送的。
下面是阿里云和腾讯云的网站入口:
我这里申请了一个证书,和我买的测试完的域名www.lefenxiang.club进行了绑定。可以看下我在阿里云上申请的免费证书,只要登录相应云平台的控制台就可以找到:
我们需要做的就是点击上“下载”入接口,就可以弹出相应的下载页面,我们这里选择Tomcat,如下所示:
下载之后,可以得到一个zip文件,解压之后可以得到两个文件,如下所示:
需要注意的是,这里下载得到的pfx文件是和pfx-password.txt文件中的密码是配套使用的,每次下载生成的文件和密码都不一样,切勿混用。
如何在Tomcat9上安装SSL证书?
在安装前,我们需要将我们下载的证书使用scp上传到目标服务器上,在tomcat9的根目录下创建一个cert文件夹,用于存放证书文件,如下所示:
然后进行unzip解压,并且简单的对证书文件进行
接下来需要注意的是,Tomcat 9强制要求证书别名设置为tomcat。需要在命令行中通过下面命令进行设置,切记!!!
我们进入到证书所在的目录,然后执行下面的命令,当然这里要写你自己的域名
keytool -changealias -keystore lefenxiang.club.pfx -alias alias -destalias tomcat
在完成好上面的准备工作之后,我们接下来需要进行SSL相关的一些配置,在tomcat根目录下的conf子目录下,找到server.xml配置文件,添加如下的配置:
port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/lefenxiang.club.pfx"
keystoreType="PKCS12"
keystorePass="J2YY4sAG"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"
上面已经完成了所有的配置,但是如果你想HTTP请求强制跳转HTTPS,那么需要在web.xml中添加如下内容。
#在</welcome-file-list>后添加以下内容:
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<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>
至此,相关的所有工作都完成了。我们需要验证下是否配置成功了。我们将Tomcat启动起来,通过在tomcat根目录下执行./bin/start.sh来启动,然后访问https://www.lefenxiang.club:8443/,看看能不能正常访问。
这里之所以带上8443端口,是因为我的443端口有其他用,这里tomcat配置成8443端口了,所以需要在域名后带上端口,如果是使用默认的443端口,那么就不需要带上端口了。
看到了熟悉的那只猫了,大功告成!!!
结语
本文对如何在Linux环境下,对Tomcat9安装SSL证书进行了详细的说明,希望对有需要的有所帮助,谢谢。
以上是关于怎么在Linux系统下对Tomcat9安装SSL证书?的主要内容,如果未能解决你的问题,请参考以下文章