[转帖]SpringBoot配置SSL 坑点总结【密码验证失败、连接不安全】
前言
在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 坑点总结【密码验证失败、连接不安全】的更多相关文章
- Springboot配置ssl使用https
SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP协议与各种应用层协议之间, ...
- springboot配置SSL自签名证书
1.证书生成 每一个JDK或者JRE里都有一个工具,叫做:keytool,安装了jdk或jre之后,配置好JAVA环境之后,就可以直接在控制台使用该命令生成自签名证书: 在控制台输入: keytool ...
- Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...
- [转帖]nginx配置ssl加密(单/双向认证、部分https)
nginx配置ssl加密(单/双向认证.部分https) https://segmentfault.com/a/1190000002866627 nginx下配置ssl本来是很简单的,无论是去认证 ...
- SpringBoot配置SSL证书支持
Spring Boot配置ssl证书 一.申请SSL证书 在各大云服务商都可以申请到SSL官方证书. 我这里是在阿里云上申请的,申请后下载,解压.如图: 二.用JDK中keytool是一个证书管理工 ...
- 轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https
上篇文章说道httpclient不能直接访问https的资源,这次就来模拟一下环境,然后配置https测试一下.在前面的文章中,分享了一篇自己生成并在tomcat中配置ssl的文章<Tomcat ...
- springboot配置ssl证书
springboot默认使用的是tomcat: 1.先到阿里云上注册一个证书,绑定域名:后面可以在管理中下载证书,下载tomcat对应的证书(一个*.pfx文件和*.txt文件) 2.将pfx文件拷贝 ...
- [转帖]nginx配置ssl证书实现https访问
https://www.cnblogs.com/tianhei/p/7726505.html 今天就是如此处理的 感觉挺不错的. 一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址 ...
- springboot配置ssl访问
第一步:########################################### # 端口设置 ########################################### s ...
- springboot配置ssl变成https证书
前段时间跳槽了,疫情期间啥也干,回想了这个项目当中的一些新接触的东西记下来,为了方便以后自己看,也给新手提供以下便利.如果这边篇随笔能够给你带来便利,小衲不胜荣幸,如果有错误也欢迎批评指正,大家共同学 ...
随机推荐
- API安全技术
自己在日常工作中会涉及到些安全的概念,但是没有成体系,因此最近研读了<API安全技术与实战>一书,在此做些文章记录. API安全是从安全的角度关注API领域的安全问题和这些问题的解决方案, ...
- OBS鉴权实现的宝典秘籍,速拿!
摘要:OBS提供了REST(Representational State Transfer)风格API,支持您通过HTTP/HTTPS请求调用.本文将带你了解OBS API鉴权实现的宝典秘籍. OBS ...
- 基于LiteOS Studio零成本学习LiteOS物联网操作系统
摘要:大家在学习物联网操作系统开发的时候,都不得不准备一套开发板和仿真器,也是一笔不小的投资.LiteOS社区现在对外开放了对Qemu模拟器的适配工程,在不使用开发板的情况下,也可以搭建LiteOS开 ...
- 知道ThreadLocal吗?一起聊聊到底有啥用
摘要:ThreadLocal是 java 提供的一个方便对象在本线程内不同方法中传递和获取的类.用它定义的变量,仅在本线程中可见和维护,不受其他线程的影响,与其他线程相互隔离. 本文分享自华为云社区& ...
- 讲透学烂二叉树(二):图中树的定义&各类型树的特征分析
日常中我们见到的二叉树应用有,Java集合中的TreeSet和TreeMap,C++ STL中的set.map,以及Linux虚拟内存的管理,以及B-Tree,B+-Tree在文件系统,都是通过红黑树 ...
- iOS应用上架详细图文教程
App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都"死"在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上 ...
- 火山引擎ByteHouse:一套方案,让OLAP引擎在精准投放场景更高效
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 由于流量红利逐渐消退,越来越多的广告企业和从业者开始探索精细化营销的新路径,取代以往的全流量.粗放式的广告轰炸 ...
- 还在用 Excel 和 SQL?火山引擎 VeDI 这款产品帮你更快处理数据
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 对大多数职场打工人来说,看数据.用数据一直是项有"门槛"的工作. 特别是在企业业务快速发展的背景下,为 ...
- 使用 cron4j-solon-plugin 开发定时任务(新)
(一)新建一个 maven 空项目 (二)添加 maven 引用 <dependency> <groupId>org.noear</groupId> <art ...
- python-docx -快速入门
docx python-docx是一个用于创建和更新Microsoft word(.docx)文件的Python库 安装 pip install python-docx 快速入门 打开文档 需要的 ...