前言

在SpringBoot服务中配置ssl,无非就是下载证书设置一下配置文件的问题,这里主要记录我在配置的过程中遇到的坑点。

如果是新手上道的话建议结合其他的资料或者博客一起参考,因为本篇文章对具体如何配置讲的比较少。

1.证书绑定问题

首先,阿里云有免费的ssl证书,而且可以随意选择要下载的证书类型,这点是很方便的,因为在不同的环境下可能需求不同,在这里直接选择想要的类型就可以了。

但需要注意的是,证书也是分类型的,而阿里的免费证书 (我用的 DigiCert 免费版 SSL) 是 单域名证书,也就是一个证书只能绑定到一个域名上,例如:baidu.com 和 fanyi.baidu.com 是需要两个SSL证书的,他们的证书不能通用(尽管他们两的二级域名是一样的),这是第一个坑点,单域名证书不能同时绑定两个三级域名,即使这两个三级域名的二级域名是同一个

如果你使用的ssl证书绑定的是 xxx.you.com ,然后你当前服务器使用的是 yyy.you.com,那么你的网站就会出现“不安全”的访问字样,也就是小红锁。


2.证书和密码不匹配

我下载的是tomcat类型的证书文件,下载下来有一个压缩包,里面有一个pfx文件(证书文件)和一个txt文件(密码)。

注意第二个坑点来了,所下载的证书和密码,全部都是配套的,即使是同一个证书,每一次下载下来也是不同的,所以要注意证书文件和密码不能混用,否则就会出现密码错误、密码不匹配的问题。


3.yaml配置文件问题

server:
port: 443
ssl:
key-store: classpath:ssl/xxxxxxxxxxxx.pfx
key-store-type: "PKCS12"
key-store-password: "xxxxxxx"

这里需要注意的有两个点:

3.1 解密类型和证书类型是相关的

还记得我上面提到的,可以下载多种类型的证书吗,不同类型的证书下载下来的后缀名是不一样的,他们对应的配置项 key-store-type 也是不一样的,如果你选择的也是tomcat类型,证书后缀名也是 pfx,那大概率和我的是一样的 PKCS12 ,否则,你应该参考官方文档,点击右侧的帮助按钮:

进去查看配置文件,寻找关键字keystoretype,照着文档里的类型就对了。

3.2 配置文件参数混淆

在idea中写配置文件的时候,会有自动提示的,很容易会把 key-store-password 这个参数写成 key-password,因为语法补全会同时弹出这两个看起来很相似的参数。虽然我也不知道为什么有两个这么容易混淆的参数,但它确实是有,而且一旦写错,很难发现[┭┮﹏┭┮] ,会一直报错说密码错误或者密码不匹配之类的。

后记

这篇文章主要是记录SpringBoot配置SSL过程中可能遇到的坑点,对具体的配置操作其实讲的比较少,希望能够帮助到你 ^ _ ^。

[转帖]SpringBoot配置SSL 坑点总结【密码验证失败、连接不安全】的更多相关文章

  1. Springboot配置ssl使用https

    SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP协议与各种应用层协议之间, ...

  2. springboot配置SSL自签名证书

    1.证书生成 每一个JDK或者JRE里都有一个工具,叫做:keytool,安装了jdk或jre之后,配置好JAVA环境之后,就可以直接在控制台使用该命令生成自签名证书: 在控制台输入: keytool ...

  3. Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...

  4. [转帖]nginx配置ssl加密(单/双向认证、部分https)

    nginx配置ssl加密(单/双向认证.部分https) https://segmentfault.com/a/1190000002866627   nginx下配置ssl本来是很简单的,无论是去认证 ...

  5. SpringBoot配置SSL证书支持

    Spring Boot配置ssl证书 一.申请SSL证书 在各大云服务商都可以申请到SSL官方证书. 我这里是在阿里云上申请的,申请后下载,解压.如图:  二.用JDK中keytool是一个证书管理工 ...

  6. 轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https

    上篇文章说道httpclient不能直接访问https的资源,这次就来模拟一下环境,然后配置https测试一下.在前面的文章中,分享了一篇自己生成并在tomcat中配置ssl的文章<Tomcat ...

  7. springboot配置ssl证书

    springboot默认使用的是tomcat: 1.先到阿里云上注册一个证书,绑定域名:后面可以在管理中下载证书,下载tomcat对应的证书(一个*.pfx文件和*.txt文件) 2.将pfx文件拷贝 ...

  8. [转帖]nginx配置ssl证书实现https访问

    https://www.cnblogs.com/tianhei/p/7726505.html 今天就是如此处理的 感觉挺不错的. 一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址 ...

  9. springboot配置ssl访问

    第一步:########################################### # 端口设置 ########################################### s ...

  10. springboot配置ssl变成https证书

    前段时间跳槽了,疫情期间啥也干,回想了这个项目当中的一些新接触的东西记下来,为了方便以后自己看,也给新手提供以下便利.如果这边篇随笔能够给你带来便利,小衲不胜荣幸,如果有错误也欢迎批评指正,大家共同学 ...

随机推荐

  1. LeetCode 图篇

    743. 网络延迟时间 有 N 个网络节点,标记为 1 到 N. 给定一个列表 times,表示信号经过有向边的传递时间. times[i] = (u, v, w),其中 u 是源节点,v 是目标节点 ...

  2. mac phpbrew安装

    php 编译安装php 7.2.26 aliyun 镜像中心:https://developer.aliyun.com/mirror/ 1.安装brew /usr/bin/ruby -e " ...

  3. 以小博大外小内大,Db数据库SQL优化之小数据驱动大数据

    SQL优化中,有一条放之四海而皆准的既定方针,那就是:永远以小数据驱动大数据.其本质其实就是以小的数据样本作为驱动查询能够优化查询效率,在SQL中,涉及到不同表数据的连接.转移.或者合并,这些操作必须 ...

  4. MySQL进阶篇:详解存储引擎特点

    MySQL进阶篇:第一章_一.四_存储引擎特点_Memory & MySQL存储引擎的区别及特点 1.1 存储引擎特点 1.1.3 Memory 1). 介绍 Memory引擎的表数据时存储在 ...

  5. Karmada 结合 coreDNS 插件实现跨集群统一域名访问

    本文分享自华为云社区<Karmada 结合 coreDNS 插件实现跨集群统一域名访问>,作者:云容器大未来 . 在多云与混合云越来越成为企业标配的今天,服务的部署和访问往往不在一个 K8 ...

  6. 30秒,2种方法解决SQL Server的内存管理问题

    今天和大家聊一聊SQL server的内存管理,说之前我们需要先提出一个问题,SQL Server到底是如何使用内存的?弄清楚如何使用之后,才能谈如何管理. 简单说,SQL Server 数据库的内存 ...

  7. Mysql开发实践:error while loading shared libraries: libaio解决方案

    摘要:Mysql出现问题:error while loading shared libraries: libaio解决方案. 本文分享自华为云社区<Mysql出现问题:error while l ...

  8. 云小课|教你如何使用RDS for PostgreSQL插件

    摘要:本文介绍RDS for PostgreSQL支持的插件及不同插件的创建.删除或使用方法. 本文分享自华为云社区<[云小课][第42课]RDS for PostgreSQL插件介绍>, ...

  9. AI贺新年,开发者的虎年这样过才有意思

    摘要:祝所有的开发者们新春快乐,万事如意迎新年,如虎添翼旺全年! 普通人拜年,发一个祝福微信.程序员拜年,运行一串代码,制作独一无二的拜年短视频. 普通人送祝福,新年快乐.程序员送祝福,信手捏来一首拜 ...

  10. 📝 App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法

    ​ 引言 在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤.本文将介绍如何通过appuploader工具获取iOS云管理式证书 Distribution Man ...