https连接器
非对称性加密:A生成一份公私钥,将公钥交给需要进行数据传输的B,B发送数据时先用公钥对数据进行加密,然后发送给A,再由A使用私钥进行解密。
但存在漏洞即B如何确认公钥是由A提供的。因此需要一个第三方机构(CA机构,即证书授权中心)来进行保证。A先将公钥发送给CA机构,CA机构向A确认这是它所发的公钥后,会生成一份数字证书,证书里包含了CA的认证签名与B的公钥,A再将这个数据证书发送给B,此时B就可以根据CA的认证签名确认公钥来自于A。
HTTPS:
浏览器想要对数据加密后再发送给服务器,服务器首先会出示一份数字证书给浏览器,浏览器根据上面的公钥对数据加密,然后再发送给服务器。
因此,首先我们要做的事情就是生成一份数字证书。
数字证书:
在jdk1.4以后的版本上,包含了一个数字证书的生成工具——keytool。该工具位于<java_home>/bin/keytoo.exe目录下。
如果服务器已经配置好<java_home>,可以进行windows下的命令行窗口,输入命令:
keytool -genkey -alias tomcat -keyalg RSA
然后根据图片内容进行配置

此时再进入操作系统的用户下,通常是C:\Users\Administrator,会看到里面有一个文件.keystore。
可以输入命令对它进行查看:
keytool -list -keystore .keystore

将该文件复制粘贴到tomcat的conf目录下

打开server.xml文件,配置https连接器,进入如下配置
<Connector port="2019" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/.keystore" keystorePass="******" />
其中:
port=2019,配置https连接的端口为2019,这个连接器接收到浏览器请求后,将向浏览器出示一份数字证书,浏览器利用数字证书里的公钥来进行加密。
keystoreFile="conf/.keystore",指明密钥库所在的文件路径。
keystorePass="******",指明密钥库的访问密码。
保存配置文件后启动tomcat。
此时,首先访问http通道的8080端口,是可以正常打开。

再访问https通道的2019端口,浏览器会提示不安全。这是由于证书是我们手工生成的,没有经过CA的认证,浏览器认为访问这个主机是不安全的。我们可以选择下面的高级,然后在里面点击继续前往即可。

此时的2019端口也可以正常访问

用户也可以选择安装数字证书,这样之后的访问都将不会再显示证书错误。具体方法这里不做赘述。
同时,如果tomcat配置了如上的https通道,最好是将http通道删除,否则位于webapp下面的项目,不仅可以被https通道访问,也可以被http通道访问,失去了我们配置https的意义。
如在webapp下有项目testweb,则它的访问路径http://localhost:2018/testweb和https://localhost:2019/testweb都是可以正常访问,唯一的不同在于后者进行了数据加密,前者没有加密。
https连接器的更多相关文章
- javaWeb https连接器
互联网加密原理 tomcat服务器启动时候会启动多个Connector(连接器),而Tomcat服务器的连接器又分为加密连接器和非加密连接器 .(一般我们使用http协议的是非加密,https的是加密 ...
- javaweb学习总结十八(软件密码学、配置tomcat的https连接器以及tomcat管理平台)
一:软件密码学 1:对称加密 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key).对称加密有很多种算法,由于它效 ...
- Confluence 6 代理和 HTTPS 设置连接器
很多用户选择将 Confluence 运行在反向代理的后面,同时还启用了 HTTPS.将你的的 Confluence 反向代理配置正确就显得非常必要了,并且能够避免后期在使用 Confluence 遇 ...
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB
JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...
- 软件密码和https协议
密码安全问题,一直是程序员最痛疼的问题,这一章主要的来说一下密码的安全,和怎么提高密码的安全,还有Tomcat的https协议. 密码对于一个程序的安全有多重要就不多说了,如果你做过银行系统的话,那么 ...
- Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS
本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...
- Tomcat 七 HTTP 连接器
摘要 本文尝试翻译Tomcat官方文档Apache Tomcat 7连接器,不足之处敬请指正.该文先介绍了Tomcat7 HTTP连接器的属性,包括:公共属性.标准实现.Java TCP套接字属性.B ...
- Spring Boot项目如何同时支持HTTP和HTTPS协议
如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议. 准备 为了使用HTTPS连接器,需要生成一 ...
- springboot+https+http
http访问不安全,使用https相对好些. 参考网址:https://blog.csdn.net/bock1984/article/details/90116965 操作如下: 1. 使用JDK自带 ...
随机推荐
- layui---form表单模块
虽然对layui比较熟悉了,但是今天有时间还是将layui的form表单模块重新看一下. https://www.layui.com/doc/modules/form.html 一.更新渲染 layu ...
- E - Closest Common Ancestors
Write a program that takes as input a rooted tree and a list of pairs of vertices. For each pair (u, ...
- 算法提高 金属采集_树形dp
算法提高 金属采集 时间限制:1.0s 内存限制:256.0MB 问题描述 人类在火星上发现了一种新的金属!这些金属分布在一些奇怪的地方,不妨叫它节点好了.一些节点之间有道路相连 ...
- Nest.js 守卫
Docs: https://docs.nestjs.com/guards 当调用者具有足够的权限时,特定路由才可用 // app.guard.ts import { CanActivate, Exec ...
- js各种获取当前窗口页面宽度、高度的方法
alert($(window).height()); //浏览器时下窗口可视区域高度 alert($(document).height()); //浏览器时下窗口文档的高度 alert($(docum ...
- Oracle 使用Dblink
DBLINK数据库链接是一个数据库中的模式对象,使您可以访问另一个数据库上的对象. dblink限定符允许您引用除本地数据库以外的数据库中的对象,如果省略了dblink,那么Oracle假定您指的是本 ...
- JavaScript基础知识(字符串的方法)
字符串的方法 1.字符串: 在js中被单引号或双引号包起来的内容都是字符串: var t = "true"; console.log(typeof t);// "stri ...
- allegro画元件封装
LP Wizard 10.5 根据标准,输入datasheet的尺寸,可以计算出推荐的焊盘和封装. 封装必须画的层: 1.引脚 2.pakage-> 2.1.assembly_top,add线( ...
- Tunnels HDU - 4856
BFS寻找每个点到其他点的最小距离 再状压DP,DP[i][j] i二进制表示每个点的到达状态,j为当前所在点 #include<iostream> #include<cstring ...
- mybatis cloud not autowired
mybatis代码生成器生成的mapper在service引用的时候报cloud not autowired.... 即是在pom.xml中配置了不过滤mapper文件,报错还在 其实这不影响使用,但 ...