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再进行测试就好了。

tomcat配置https以及配置完成后提示服务器缺少中间证书(已解决)的更多相关文章

  1. 配置Tomcat使用https协议(配置SSL协议)

    配置Tomcat使用https协议(配置SSL协议) 2014-01-20 16:38 58915人阅读 评论(3) 收藏 举报 转载地址:http://ln-ydc.iteye.com/blog/1 ...

  2. 【tomcat】HTTPS访问配置 + restful调用远程HTTPS绕过验证

     单向验证: 第一步: 生成key: keytool -genkey -alias mykey -keyalg RSA -keystore d:/key/testkey keytool -export ...

  3. 【转】Tomcat启用HTTPS协议配置过程

    转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/53001846 http://www.ganecheng.tech/blog/530 ...

  4. 4、Tomcat启用HTTPS协议配置

    一.本地模拟 1.安装jdk,自行百度安装教程 2.打开mac终端,输入命令 keytool -genkeypair -alias "证书名字" -keyalg "RSA ...

  5. Tomcat启用HTTPS协议配置过程

    Article1较为简洁,Article2较为详细,测试可行. Article1 概念简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问 ...

  6. tomcat配置https–采用JDK自带的keytool工具生成证书

    转自:http://blog.csdn.net/huangxinyu_it/article/details/41693633 有关http与https的区别请看<浅谈http与https的区别( ...

  7. 【转】配置Tomcat使用https协议(配置SSL协议)

    转载地址:http://ln-ydc.iteye.com/blog/1330674 内容概览: 如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议 1.生成安全证书 2.配置to ...

  8. office web apps安装部署,配置https,负载均衡(三)服务器连接域控制器

    前提条件:1>一台window server 2008R2 服务器 2>您已经在同一内网的另外一台服务器上安装好了域控制器文档请看我写的另外一篇文章: office web apps安装部 ...

  9. express 配置 https 服务 ( 以阿里云服务器为例), 探索一周终于搞定

    首先最重要的是 你要明白 https接口的接收或者发送 的形式 是  https://域名:端口号   而不是 https://ip:端口号   一,首先,去阿里云注册免费ssl证书   1,在搜索框 ...

随机推荐

  1. SQL Server 2016新特性:DROP IF EXISTS

    原文:SQL Server 2016新特性:DROP IF EXISTS  在我们写T-SQL要删除某个对象(表.存储过程等)时,一般会习惯先用IF语句判断该对象是否存在,然后DROP,比如: 旧 ...

  2. SQL 修改主键约束

    原文:SQL 修改主键约束 今天在学习数据库的时候遇到一个关于如何修改主键约束的问题,抄录下来以供备用. --修改主键约束用SQL --获取主键约束名字 declare @csname varchar ...

  3. ARTS 1.21 - 1.25

    每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西! Algorithm: 学习算法 题目:3Sum Closest 解题过 ...

  4. Windows的远程协助和远程桌面的区别

    在Windows的“系统属性-远程”里面,包含了“远程协助”和“远程桌面”两个设置. 远程桌面我们平时用得比较多,但是远程协助却一直没明白什么作用.系统装完以后,“远程协助 - 允许远程协助连接这台计 ...

  5. 通过Graphics对象获取它所属的Control

    using System.Runtime.InteropServices;   [DllImport("user32.dll")] public static extern Int ...

  6. Linux正则和grep命令

    设置命令的默认参数和别名 每次都要输入 ls -l ,烦不烦,我想用 ll 来表示 ls -l, 可以,只要在 ~/.bashrc 中加上 alias ll='ls -l' ,然后运行 source ...

  7. ab fails to connect to localhost

    The following command fails: $ ab -n 1 localhost:8000/ ... Benchmarking localhost (be patient)...apr ...

  8. python列表的内置方法

    list数据类型还有更多的方法.这里是list对象的所有方法: list.append(x) 添加一个元素到列表的末尾:相当于a[len(a):] = [x]. list.extend(L) 将指定列 ...

  9. RocketMQ(2)---Docker集群部署RocketMQ

    RocketMQ(2)-Docker集群部署RocketMQ =前言= 1.因为自己只买了一台阿里云服务器,所以RocketMQ集群都部署在单台服务器上只是端口不同,如果实际开发,可以分别部署在多台服 ...

  10. Tido 习题-二叉树-最高分

    题目描述 老师想知道从某某同学到某某同学当中,分数最高的是多少.现在请你编程模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. 输入 输入包含多组测试数据.每组输入第一行是两个正整数N和M(0& ...