SpringBoot + mkcert ,解决本地及局域网(内网)HTTPS访问

本文主要解决访问SpringBoot开发的Web程序,本地及内网系统,需要HTTPS证书的问题。

我测试的版本是,其他版本不确定是否也正常,测试过没问题的小伙伴,可以在评论区将测试过的版本号留下,方便他人参考:

<spring-boot.version>2.3.12.RELEASE</spring-boot.version>

最终效果如下:

mkcert

mkcert 可以生成受信任的SSL证书,且支持生成 SpringBoot 支持的 PK12 类型证书。

官方文档:github.com/FiloSottile...

下载链接:github.com/FiloSottile...

安装包也可以用 如下网盘地址 下载:

夸克网盘:pan.quark.cn/s/c2cf8b8a4...

Windows 安装

从上述下载链接进入,找到windows的 exe 安装包,下载,之后打开cmd,进入到下载路径,执行如下命令

cmd 复制代码
mkcert-v1.4.4-windows-amd64.exe -install

执行之后,会提示如下图所示,点击【是】安装一个本地信任的CA证书.

生成PK12证书

安装完成之后,可以用如下命令,生成PK12的证书,生成的证书 默认密码是 : changeit

-pkcs12 后边是对应ip,可以自己定义,多个空格分隔

cmd 复制代码
mkcert-v1.4.4-windows-amd64.exe -pkcs12 localhost 127.0.0.1 ::1

执行完成后,会在当前目录下生成一个 localhost+3.p12 文件。

SpringBoot配置HTTPS

将上一步生成的 localhost+3.p12 文件,复制到 springboot 的 resources 目录下

然后给 aplication.yml 增加如下配置即可

yml 复制代码
server:
  # 端口可以自定义,443 是https默认端口
  port: 443
  ssl:
    # 文件名可以修改,没影响
    key-store: classpath:localhost+3.p12
    key-store-password: changeit
    # TSL3 安全性好一些
    protocol: TLS
    enabled-protocols: TLSv1.3

增加如上配置,启动即可,不需要增加别的。

将CA证书发给其他小伙伴安装

为了让其他小伙伴的电脑,也能信任我们生成的证书,需要将我们第一步安装的CA证书,发给其他小伙伴,在他们的电脑也安装一下。

执行如下命令,可以看到我们生成的根CA文件路径,打开路径,将rootCA.pem 复制一份,改名为 rootCA.crt 。

cmd 复制代码
mkcert-v1.4.4-windows-amd64.exe -CAROOT

之所以改名,是因为 windows 只认crt,双击crt文件才会执行 安装证书的流程。

之后发给其他小伙伴,让他们双击该文件,如下图所示,先点击 安装证书

再点击下一步

然后如下图一样操作

之后再点击下一页

点击【是】,见到如下图提示,就导入完成了

参考:

blog.csdn.net/qq_45392321...

blog.csdn.net/ThinkPet/ar...

blog.csdn.net/qq_30665009...

相关推荐
如竟没有火炬9 小时前
寻找峰值——二分
java·开发语言·数据结构·python·算法·散列表
Lumbrologist9 小时前
【C++】零基础入门 · 第 17 节:多线程编程基础
java·c++·算法
tkevinjd9 小时前
事务、ACID与隔离
java·数据库·sql
阿洛学长9 小时前
Kali Linux 虚拟机安装(VMware Workstation 17)
java·linux·服务器
AI人工智能+电脑小能手9 小时前
【大白话说Java面试题 第91题】【Mysql篇】第21题:分布式锁的使用场景和原理?
java·数据库·分布式·mysql·面试
JAVA社区10 小时前
Java高级全套教程(十三)—— 分布式锁超详细实战详解(原理+三种方案企业级落地)
java·开发语言·分布式·spring cloud·面试·java-zookeeper
Mahir0810 小时前
MyBatis 延迟加载深度解密:从使用方式到底层动态代理原理全解
java·后端·面试·mybatis
超梦dasgg10 小时前
Java 生产环境 Maven 实战指南
java·开发语言·maven
贺国亚10 小时前
Agent 工程实践 · 生产落地 Playbook
java·人工智能·aigc
专注VB编程开发20年10 小时前
淘宝上架销售技巧:Excel管理系统开发 / VBA / ERP / OA办公管理
java·数据库·excel