码迷,mamicode.com
首页 > 编程语言 > 详细

Springboot 通过配置SSL实现http自动https

时间:2019-11-09 00:18:44      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:通过   打包   actor   tcp   keystore   app   ssl证书   local   应用层协议   

一、 证书是什么

1、数据的安全性

对数据进行签名(加密)是我们在网络中最常见的安全操作。签名有双重作用,作用一就是保证数据的完整性,证明数据并非伪造,而且在传输的过程中没有被篡改,作用二就是防止数据的发布者否认其发布了该数据。

2、SSL协议

SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持。SSL协议分为两层,SSL记录协议建立在TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持。SSL握手协议建立在SSL记录协议之上,用户实际数据传输开始前进行身份验证、协商加密算法、交换加密秘钥。

3. .jks文件

jks是Java密钥库(KeyStore)比较常见的一种格式(我所知道的共有5种,JKS, JCEKS, PKCS12, BKS,UBER),是JAVA的keytools证书工具支持的证书私钥格式。

二、 通过Springboot配置SSL

1、生成证书

  • 专业的SSL证书较为昂贵,可以在腾讯云或者阿里云上申请免费的SSL证书。
  • 如果只是做简单的demo,可以使用java自带的keytool工具生成SSL证书。可参考 keystore.jsk打包

2、application.yml 配置

技术图片

3、测试SSL是否配置成功

技术图片
测试: https://localhost:8443/api/v1.0/demo/testDemo 看是否有返回值,返回了如上图描述,就表示成功了

4、若有http自动跳转到https等需求,则向spring容器中注入两个Bean,代码如下【注意下,springboot2.X 之后调整了 TomcatEmbeddedServletContainerFactory调整成了 TomcatServletWebServerFactory】

技术图片
技术图片
测试:https://localhost:8080/api/v1.0/demo/testDemo 看是否自动跳转到了https://localhost:8443/api/v1.0/demo/testDemo ,就表示成功了

Springboot 通过配置SSL实现http自动https

标签:通过   打包   actor   tcp   keystore   app   ssl证书   local   应用层协议   

原文地址:https://blog.51cto.com/12066352/2448775

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!