首页 技术 正文
技术 2022年11月14日
0 收藏 748 点赞 3,918 浏览 2154 个字

tomcat配置https

准备工作

下载好证书文件,下载的时候可以选择为tomcat文件。我这下载下来是压缩包。解压后就是下图的样子。

以.key结尾的文件是证书的key

以.pem结尾的文件是证书文件

第一步

在Tomcat的目录下,创建一个文件夹,我这文件名是cert,将下载好的证书解压后复制到这个文件夹里面。Tomcat支持PFX格式和JKS两种格式的证书,您可根据您Tomcat的版本择其中一种格式的证书安装到Tomcat上。很明显我下载下来的文件都不包含以上两种文件,所以需要我们自己转为pfx文件或者jks文件,这两种文件都支持,选其一即可。

到cert目录下执行如下命令完成PFX格式转换命令,此处要设置PFX证书密码,请牢记:

openssl pkcs12 -export -out 2424966.pfx -inkey 2424966.key -in 2424966.pem

其中的文件名可以自定义。

这个命令执行完成后可以生成.pfx文件。

第二步

找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port="xxx"标签,增加如下属性,完整的配置如下:(其中port属性请根据您的实际情况修改)

<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/domain name.pfx" #此处keystoreFile代表证书文件的路径,请用您证书的文件名替换。
keystoreType="PKCS12"
keystorePass="证书密码" #请用您证书密码文件中的密码替换“证书密码”。
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"/>

配置完成后重启tomcat,然后访问域名进行测试。

jks格式的证书配置方式

使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)

keytool -importkeystore -srckeystore 2424966.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS

回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。(上面命令中的文件名改为自己的即可)

tomcat配置文件server.xml的写法参考如下:

<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/domain name.jks" #此处keystoreFile代表证书文件的路径,请用您证书的文件名替换domain name。
keystoreType="PKCS12"
keystorePass="证书密码" #请用您证书密码文件中的密码替换“证书密码”。
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"/>

更改完成后保存,重启tomcat进行测试即可。

进行证书检测的时候提示服务器缺少中间证书的解决办法

可以先去这个网站检测一下配置的https https://www.myssl.cn/tools/check-server-cert.html我这遇到的问题是,网址访问没问题,但是放到微信小程序后台服务上,当小程序访问的时候会出现问题,原因就是服务器缺少中间证书。在安卓环境会出现这种情况,但是在苹果就没有,但是还是得解决啊。解决办法就是在https://www.myssl.cn/tools/downloadchain.html这个网站上按照要求去生成一个中间证书,然后将生成的中间证书的内容粘贴到之前下载好的证书的文件里面。然后按照之前配置https的方法再重新配置一次。然后重启tomcat再进行测试就好了。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295