SSL的配置也是我们在实际应用中经常遇到的场景。
SSL(Secure Sockets Layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密.SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持.SSL协议可分为两层:SSL记录协议(SSL RecordProtocol),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持.SSL握手协议(SSLHandshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始前,通信双方进行身份认证、协商加密算法、交换加***等。
而在基于B/S的Web应用中,是通过HTTPS来实现SSL的.HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即在HTTP下加入SSL层,HTTPS的安全基础是SSL。
因为Spring Boot用的是内嵌的Tomcat,因而我们做SSL配置的时候需要做如下的操作。
使用SSL首先需要一个证书,这个证书既可以是自签名的,也可以是从SSL证书授权中心获得的。本例为了演示方便,演示自授权证书的生成。
每一个JDK或者JRE里都有一个工具叫keytool,它是一个证书管理工具,可以用来生成自签名的证书
如果没有安装好JDK,并配置好环境变量,请先把这两步完成
1、打开cmd
输入 keytool -genkey -alias tomcat 按下回车
按照提示走就可以了,很简单
完成后找到你用户所在盘符下,我的是C:/users/administrator ,看自己的实际情况
.keystore 这文件就是证书了
把.keystore 文件复制到你的springboot 项目的根目录下面 直属下级
然后在你application.properties 文件中添加如下配置
server.port=8080 server.ssl.key-store=.keystore #此密码与生成.keystore文件一致 server.ssl.key-store-password=123456 server.ssl.keyStoreType=JKS server.ssl.keyAlias=tomcat
这样就算配置完成了
点击启动
看控制台出现上图标出来的字样就ok拉
访问https://localhost:8080
这样就是成功了
本文是根据 javaEE开发的颠覆者 Springboot实战 完整版.PDF 进行指引操作完成的,
有兴趣童鞋可以看看