1、SSL介绍和说明

SSL的配置也是我们在实际应用中经常遇到的场景

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

而在基于B/S的Web应用中,是通过HTTPS来实现SSL的。HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即在HTTP下加入SSL层,HTTPS的安全基础是SSL。

2、生成证书

使用SSL首先需要一个证书,这个证书既可以是自签名的,也可以是从SSL授权中心获得的。下面演示自授权证书的生成。

每一个JDK或JRE里面都有一个工具叫keytool,它是一个证书管理工具,可以用来生成自签名的证书。


使用CMD进入C:\Program Files\Java\jdk1.8.0_111\bin所在的目录,然后输入一下内容:

keytool -genkey -alias tomcat


接着进入当前用户目录下,发现已经生成了一个.keystore文件,这就是我们要用的证书文件,如图所示。

2.1 Spring Boot配置SSL

添加一个index.html到src/main/resources/static下,作为测试

将.keystore文件复制到项目的根目录(即pom.xml所在的位置),然后在application.properties中做SSL的配置:

#server.port = 8443
#server.ssl.key-store = .keystore
#server.ssl.key-store-password= 111111
#server.ssl.keyStoreType= JKS
#server.ssl.keyAlias: tomcat

接着再浏览器上访问:https://localhost:8443.会出现相应页面

SpringBoot之SSL配置(SpringBoot实战)相关推荐

  1. SpringBoot笔记:SpringBoot启动参数配置

    文章目录 目的 测试代码 配置文件配置 获取自定义参数 项目打包发布 修改启动配置 方式一:系统变量 方式二:命令行参数 springboot启动参数解释 目的 1.熟悉springboot多环境配置 ...

  2. springboot集成邮箱配置ssl或tls协议

    使用背景 一般基本配置邮箱,默认使用的端口为25端口,使用这个端口不需要我们去配置ssl或tls协议一般都能成功发送邮件.使用中会有一些服务器屏蔽禁用25端口,如阿里服务器.此时就需要切换端口为465 ...

  3. springboot的自动配置原理

    SpringBoot中的默认配置 通过刚才的学习,我们知道@EnableAutoConfiguration会开启SpringBoot的自动配置,并且根据你引入的依赖来生效对应的默认配置.那么问题来了: ...

  4. 全新SpringBoot整合Elasticsearch6.xxx搜索引擎实战

    SpringBoot整合Elasticsearch6.xxx搜索引擎实战 一.导入相关依赖包 二.配置application.properties文件 三.ES存储实体类及注解 1.测试创建索引 四. ...

  5. SpringBoot约定大于配置的特性解读 SpringBoot快速入门

    SpringBoot约定大于配置 Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系.随着Spring 3.0的 ...

  6. Docker Compose配置springboot微服务项目

    [Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...

  7. springboot 后台模板_spring boot实战

    亲们,我们今天来看看spring boot.如果你掌握了Servlet.JSP.Filter.Listener等web开发技术,掌握了Spring MVC.Spring.Mybatis框架的使用,掌握 ...

  8. 【Spring】配置SpringBoot同时支持http和https访问

    配置https访问 生成证书 如果配置了JAVA开发环境,可以使用keytool命令生成证书.我们打开控制台,输入: keytool -genkey -alias tomcat -dname &quo ...

  9. ehcache springboot_阿里内部进阶学习SpringBoot+Vue全栈开发实战文档

    前言 Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置烦琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能 ...

最新文章

  1. linux守护进程的创建
  2. React基础——快速搭建开发环境
  3. 掌握这几种平面设计思维类型,让你设计水平上新台阶
  4. oracle连接数据的oci和thin的区别
  5. PHP常量PHP_SAPI与函数php_sapi_name()简介,PHP运行环境检测
  6. Leetcode--15. 三数之和
  7. javascript 模拟滚动 隐藏滚动条
  8. 部分免费开放的电子图书馆
  9. SK Comms信息外泄事件使韩国企业开始提高安全预算
  10. 如何自动发送生日提醒和祝福
  11. MP4文件格式详解——元数据moov(一)mvhd box
  12. Day.js —— 一个轻量型的日期时间库 moment 的完美代替品
  13. 电商平台数据仓库搭建02-Hadoop集群搭建
  14. 基于python的2048游戏设计_用python写一个2048游戏
  15. INSERT 语句与 FOREIGN KEY 约束冲突
  16. HX711压力传感器学习(STM32)
  17. (自适应手机端)极致CMS居家用品纸盘纸盒纸杯卫生纸巾生产网站模板
  18. 抽象类与接口的区别,以及使用依据
  19. C++学习从基础到高阶(基于黑马程序员教程)
  20. 太阳直射点纬度计算公式_高中地理——每日讲1题(东西半球、地方时、正午太阳高度角)...

热门文章

  1. JavaScript 常见的六种继承方式
  2. C++ 常见bug记录(持续记录中)
  3. 标准库time,datetime,calendar,random的使用
  4. MyBtis快速入门
  5. wxWidgets:wxCustomBackgroundWindow<W> 类模板用法
  6. boost::hana::is_just用法的测试程序
  7. boost::math::bernoulli_b2n用法的测试程序
  8. GDCM:将文件封装在RawData中的测试程序
  9. GDCM:提取JP2文件所有解析度的测试程序
  10. ITK:重采样DICOM系列