Tomcat配置 https SSL证书
HTTP与HTTPS的区别:HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
小程序访问的域名配置必须是配置ssl证书的合法域名,现在阿里云上买了个域名,备案过了,也申请了免费的ssl 证书,下载了tomcat的证书文件。下面是记录配置过程:
下载的证书文件,解压后是这个样子:只有两个文件的,一个是pfx格式的证书,一个是密码文本。

一、使用java jdk将PFX格式证书转换为JKS格式证书
在命令行界面输入以下代码:
1.切换到证书解压文件 的路径:
pushd F:\1569577_wwwXXXX_tomcat
(这是我的文件路径)
2.使用命令:
keytool -importkeystore -srckeystore 你的证书名称.pfx -destkeystore domains.jks -srcstoretype PKCS12 -deststoretype JKS
domains.jks是生成的jks格式证书名称。
回车,会提示你输入三次密码,建议三次都是输入密码文本的密码,成功后会再文件夹下生成domains.jks文件

命里行界面截图:

二、配置server.xml
先把domains.jks证书上传到服务上的Tomcat的conf文件夹下,我用的是FlashFXP工具上传。

切换到conf目录下编辑server.xml (Linux命令)
- cd /usr/tomcat/apache-tomcat-8.5.11/conf 注意改成自己对应文件路径
- vim server.xml
找到:

修改成以下代码:(443为https默认访问端口)
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="conf/domains.jks"
keystorePass="80ISkH7c" //证书密钥 ,密码文本那个
clientAuth="false" sslProtocol="TLS" />
为了让http访问自动跳转为https访问,这里顺便把这两个标签也改了,
注意:若最后启动tomcat时候报:Catalina.start using conf/server.xml: Element type "Connector" must be followed by either attribute ,请注意不要分行,每个属性间隔一个空格保存就好。本人遇到事这样解决的。
找到:

改成:

找到:

改成:

保存,退出。
三、配置web.xml
编辑web.xml
- vim 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配置 https SSL证书的更多相关文章
- Tomcat从安装到配置Https SSL证书
为什么要写本文? 今天一个群友在群里问怎么给Tomcat配置SSL,也就是HTTPS,他买的阿里云的服务器,自带公网ip,还找到了免费的SSL证书 既然@我了,我就帮忙搞一搞呗,我就要了一个带sudo ...
- 一文教您如何通过 Docker 搭建反向代理 Ngnix,并配置 Https SSL 证书
欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注附送 100G 海量学习资源哟!! 个人网站: https://www.exception.site/docker/h ...
- [从零开始搭网站六]为域名申请免费SSL证书(https),并为Tomcat配置https域名所用的多SSL证书
点击下面连接查看从零开始搭网站全系列 从零开始搭网站 由于国内的网络环境比较恶劣,运营商流量劫持的情况比较严重,一般表现为别人打开你的网站的时候会弹一些莫名其妙的广告...更过分的会跳转至别的网站. ...
- Tomcat配置HTTPS方式生成安全证书
在Tomcat 6中配置SSL双向认证是相当容易的,本文将介绍如何使用JDK的keytool来为Tomcat配置双向SSL认证.并实现批量生成证书 系统需求:JDK 5.0Tomcat 6.0.16启 ...
- 用keytool制作证书并在tomcat配置https服务(二 )
用keytool制作证书并在tomcat配置https服务(一) 双向认证: 我们上边生成了服务端证书,并发送给客户端进行了验证. 双向认证是双向的,因此还差客户端证书. 1.为方便导入浏览器,生成p ...
- 用keytool制作证书并在tomcat配置https服务(一)
https分为单项认证和双向认证. 一般https页面上的访问都是单项认证,服务端发送数字证书给客户端,客户单方面验证.而服务端不做验证. 而双向认证,需要双方都有证书,然后发送给对方进行验证.一般用 ...
- 用tomcat配置https自签名证书,解决 ios7.1以上系统, 苹果inHouse发布
用tomcat配置https自签名证书,解决 ios7.1以上系统苹果inHouse发布不能下载安装的问题教程,话说,我其实最讨厌配置某某环境了,因为某一个小环节一旦出错,你的所有工作往往会功亏一篑, ...
- 用keytool制作证书并在tomcat配置https服务(四)
用keytool制作证书并在tomcat配置https服务(一) 用keytool制作证书并在tomcat配置https服务(二) 用keytool制作证书并在tomcat配置https服务(三) 上 ...
- 用keytool制作证书并在tomcat配置https服务(三)
用keytool制作证书并在tomcat配置https服务(一) 用keytool制作证书并在tomcat配置https服务(二) 用keytool制作证书并在tomcat配置https服务(四) 模 ...
随机推荐
- Nopcommerce 使用Task时dbcontext关闭问题
1.开启一个线程 Task.Run(() => { CreatPrintImage(preViewModel.DiyProductGuid); }); 2.线程代码 /// <summar ...
- vmware centos .net core sdk开发测试
环境:vmware + centos+ .net core2.0 一.安装.net core sdk sudo rpm -Uvh https://packages.microsoft.com/conf ...
- linux--查看磁盘空间大小使用情况
1. linux查看磁盘空间大小命令 df -h Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息, 命令格式: df -hl 显示格式为: 文件系统 容量 ...
- ubuntu 一键搭建VNN
#!/bin/bash if [ $(id -u) != "0" ]; then printf "Error: You must be root to run this ...
- Linux环境下MySql安装和常见问题的解决
MySql安装 首先当然是要连接上linux服务器咯,然后就是下面的命令甩过去,梭哈,一通运行就是啦 梭哈 下载: sudo wget http://dev.mysql.com/get/mysql ...
- 一个简单的例子学会github repository的webhook
github的webhook是个有用的功能,允许开发人员指定一个服务器的url.当开发者对github仓库施加操作,比如提交代码,创建issue时,github网站会自动向该url指定的服务器推送事件 ...
- 第七章、Ajango自带auth模块
目录 第七章.Ajango自带auth模块 一.什么是auth auth是django自带的用户认证模块 二.auth模块的常用方法 三.拓展默认的auth_user表 第七章.Ajango自带aut ...
- DB2 alter 新增/删除/修改列
SQL语句 增加列.修改列.删除列 1 添加字段 语法 : alter table 表名称 add 字段名称 类型 demo: alter table tableName add columnName ...
- Django项目上线的准备工作
settings文件配置 添加上STATIC_ROOT = os.path.join(BASE_DIR, "/static/") 我的配置项目文件的最终 STATIC_URL = ...
- Centos安装MySQL5.6并重置密码
数据库配置 如果用的是自带的sqllite那么数据库就可以不动 安装MySQL5.6数据库 这里强烈建议用使用5.6, 5.7版本的数据库遇见了很多BUG 安装MySQL wget http://de ...