本文共 1118 字,大约阅读时间需要 3 分钟。
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTPS,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。
想要进行https访问首先得获得一个数字证书. 这种需要花钱的东西对于笔者这种底层码农肯定是不用考虑的,这里使用jdk的keytool生成
进入你的%JAVA_HOME%/bin 目录下shift+右键,打开Powershell窗口
输入下面指令:
keytool -genkey -alias tomcat -keyalg RSA -keystore F:\tomcat.keystore -validity 365
F:\tomcat.keystore 含义是将证书文件保存在F盘下, 证书名是tomcat.keystore
-validity 365 含义是证书有效期,单位是天
之后会让你输入一些必要的内容如下图:
完成后,你会在上面的路径出发现证书文件已经存在
打开tomcat的目录下conf/server.xml 文件
找到下面这段代码
将注释去掉后修改代码如下: (https 访问默认是443端口, HTTP 访问默认是80)
增加了keystoreFile 和 keystorePass 两个参数, 分别表示证书文件的放置位置和密码
下面是将HTTP访问跳转到HTTPS访问
改为
保存退出,打开同级目录中的web.xml 文件, 在</welcome-file-list>(倒数第2行)标签中添加如下配置
CLIENT-CERT Client Cert Users-only Area SSL /* CONFIDENTIAL
保存后用默认的http访问你的web项目 就会自动跳转用https访问(我这里直接访问的是http://127.0.0.1/项目)
转载地址:http://ktqvi.baihongyu.com/