spring-boot 添加http自动转向https

今天主要遇到的2个问题,第一个是springboot遇到跨域的问题,这个问题解决完之后,还以为整个事情就结束了。万万没想到,由于我们前端的所有访问都是https的,所以springboot也需要配置https的访问,所以用jdk自带的生成ssl,然后配置打包,这下OK了。

SSL是为网络通信提供安全以及保证数据完整性的的一种安全协议,SSL在网络传输层对网络连接进行加密。

什么是https
要说https我们得先说SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。SSL协议可以分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持;SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始之前,通信双方进行身份认证、协商加密算法、交换加***等。在Web开发中,我们是通过HTTPS来实现SSL的。HTTPS是以安全为目标的HTTP通道,简单来说就是HTTP的安全版,即在HTTP下加入SSL层,所以说HTTPS的安全基础是SSL,不过这里有一个地方需要小伙伴们注意,就是我们现在市场上使用的都是TLS协议(Transport Layer Security,它来源于SSL),而不是SSL,只不过由于SSL出现较早并且被各大浏览器支持因此成为了HTTPS的代名词,。你可以把HTTPS和SSL的关系理解成iPhone和富土康的关系,大概就是这样哈。

例:cas 的单点登陆就用到了SSL

一、安全证书的生成

1、可以使用jdk自带的证书生成工具,jdk自带一个叫keytool的证书管理工具,可以用它来实现签名的证书。

2、先配置好基本的java环境,ctrl+r 输入cmd ,进入java 的目录

3、例:生成一个别名叫tomcat 的证书   先使用命令进入jdk的bin   这里的密码是123456

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456

spring-boot 添加http自动转向https

4、获取一个tomcat.keystore的文件,将这个文件放到项目的目录中

spring-boot 添加http自动转向https

二、配置SSL

1、编辑application.properties这个文件

server.port=8443
server.ssl.key-store=tomcat.keystore
server.ssl.key-password=123456
server.ssl.key-store-type=JKS
server.ssl.key-alias=tomcat