首先,贴一段概念:
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。
HTTP 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
HTTPS和HTTP的区别
一、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
二、HTTPS 协议需要到 CA 申请证书,一般免费证书很少,需要交费。
三、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
四、HTTP 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。
下面进行本地的项目测试:
1. 生成证书
java的jdk自带证书的生成,找到bin目录下的keytool.exe
按住shift在空白处点击右键,进入命令窗口
输入:keytool -genkeypair -alias “tomcat” -keyalg “RSA” -keystore “D:\tomcat.keystore”
填写信息
密钥库口令: 123456 以后需要用到,需记住
名字与姓氏:127.0.0.1 以后访问的域名或IP地址,证书和域名或IP绑定
剩下的随意填
成功后得到证书
2. 修改tomcat的server.xml
到tomcat的config目录下打开server.xml
将这段的注释取消
添加:keystoreFile=”D:/tomcat.keystore” keystorePass=”123456”
keystoreFile为证书的路径
keystorePass为之前输的密码
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="D:/tomcat.keystore" keystorePass="123456" />
如图:
运行本地项目,因为用的是自己生成的证书,浏览器会有警告,无视它
https访问成功
自己弄的证书,访问时会有红叉,正规的证书需要去网上申请购买,就不弄了。。。