mkcert的安装和使用,5分学会在本地开启localhost的https访问方式
mkcert官方仓库地址:https://github.com/FiloSottile/mkcert#installation
mkcert 是一个简单的工具,用于制作本地信任的开发证书。它不需要配置。
简化我们在本地搭建 https 环境的复杂性,无需操作繁杂的 openssl 实现自签证书了,这个小程序就可以帮助我们自签证书,在本机使用还会自动信任 CA,非常方便。
使用来自真实证书颁发机构 (CA) 的证书进行开发可能很危险或不可能(对于example.test、localhost或 之类的主机127.0.0.1),但自签名证书会导致信任错误。管理您自己的 CA 是最好的解决方案,但通常涉及神秘的命令、专业知识和手动步骤。
mkcert 在系统根存储中自动创建并安装本地 CA,并生成本地信任的证书。mkcert 不会自动配置服务器以使用证书,但这取决于您。
下载安装
我使用Windows 10 操作系统进行演示说明。mkcert也支持其他平台的安装与使用,自行下载对应的版本安装即可,下载地址:
windows大部分都是amd架构:https://github.com/FiloSottile/mkcert/releases

安装mkcert。将CA证书加入本地可信CA,使用此命令,就能帮助我们将mkcert使用的根证书加入了本地可信CA中,以后由该CA签发的证书在本地都是可信的。下载后到下载目录中安装:
mkcert-v1.4.4-windows-amd64.exe -install
会提示你,点击是即可:

安装成功成功。提示创建一个新的本地CA,本地CA现在已安装在系统信任存储中。

查看根证书位置
如果你想查看根证书位置,可以输入命令:
mkcert-v1.4.4-windows-amd64.exe -CAROOT

或者到我的电脑信任证书中查看也是可以的,按“Windows键+R”调出运行框,输入 certmgr.msc 命令。打开证书控制台:

在受信任的证书颁发机构中可以看到:

生成自签证书
直接跟多个要签发的域名或 ip 就行了,比如签发一个仅本机访问的证书(可以通过127.0.0.1和localhost,以及 ipv6 地址::1访问):
mkcert-v1.4.4-windows-amd64.exe localhost 127.0.0.1 ::1 192.168.2.25
需要在局域网内测试 https 应用,这种环境可能不对外,因此也无法使用像Let's encrypt这种免费证书的方案给局域网签发一个可信的证书,而且Let's encrypt本身也不支持认证 Ip。
证书可信的三个要素:1.由可信的 CA 机构签发。2.访问的地址跟证书认证地址相符。3.证书在有效期内。如果期望自签证书在局域网内使用,以上三个条件都需要满足。很明显自签证书一定可以满足证书在有效期内,那么需要保证后两条。我们签发的证书必须匹配浏览器的地址栏,比如局域网的 ip 或者域名,此外还需要信任 CA。
在mkcert软件同目录下,生成了自签证书。如图所示:

通过输出,我们可以看到成功生成了
localhost+3.pem证书文件和localhost+3-key.pem私钥文件,只要在 web server 上使用这两个文件就可以了。
前端项目配置证书
如果你是前端项目,可以在项目根目录下创建certs文件夹,将刚创建的证书添加进去,然后配置webpack或者vite的配置文件,然后重新启动项目就可以了:

配置文件代码:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import fs from 'fs'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],server: {host: '0.0.0.0',https: {key: fs.readFileSync('certs/127.0.0.1+1-key.pem'),cert: fs.readFileSync('certs/127.0.0.1+1.pem')}},resolve: {alias: {'@': path.resolve(__dirname, 'src')}}
})
重新启动项目就可以看到是https了:但是因为只配置了localhost,所以只能localhost使用https访问,其它的ip地址需要重新使用命令配置到你的证书里面才可以访问。

并且访问的时候浏览器也认可:

相关文章:
mkcert的安装和使用,5分学会在本地开启localhost的https访问方式
mkcert官方仓库地址:https://github.com/FiloSottile/mkcert#installation mkcert 是一个简单的工具,用于制作本地信任的开发证书。它不需要配置。 简化我们在本地搭建 https 环境的复杂性,无需操作繁杂的 openssl 实现自签证书了ÿ…...
RHCE DNS域名解析服务器
目录 1. 正向解析 1.1 安装必要软件 1.2 配置静态ip 1.3 DNS配置 1.4 测试 2. 反向解析 2.1 关闭安全软件,安装必要软件 2.2 配置静态ip 2.3 DNS配置 2.4 测试 1. 正向解析 1.1 安装必要软件 1.2 配置静态ip 服务器配置 nmcli c modify ens32 ipv4.method man…...
创建表与删除表(六)
表的基本操作(六) 一、创建表 1.1 使用DDL语句创建表 CREATE TABLE 表名(列名 类型,列名 类型......); 示例: 创建一个 employees 表包含雇员 ID ,雇员名字,雇员薪水。 create table employees(employee_id int,em…...
微信开发者工具 git 拉取 failed invalid authentication scheme
微信开发者工具 git 拉取 failed invalid authentication scheme 拉取代码时报错,无效身份认证 解决方案: 1.检查git地址是否正常 2.检查git用户名密码是否正确...
(4)Elastix图像配准:3D图像
文章目录 前言1、项目实战2、参数文件2.1、parameter_file_rigid_3D.txt2.2、parameter_file_affine_3D.txt2.3、parameter_file_bspline_3D.txt前言 (1)Elastix图像配准:原理 + 源码(详解) (2)Elastix图像配准:参数文件(配准精度的关键) 1、项目实战 将以下文件保…...
windows安装oracle之后怎么连接使用
目录 1.打开SQl Developer 2.选择JDK 3.登录 4.创建表空间,用户 安装oracle的详细教程 WINDOWS安装Oracle11.2.0.4-CSDN博客 1.打开SQl Developer 找到 SQl Developer 2.选择JDK 根据你安装的oracle版本,因为我的oracle是安装的32位的,所以这里jdk也要选择32位 选择到ja…...
在前端开发中,常见的数组循环方式有以下几种:
在前端开发中,常见的数组循环方式有以下几种: for 循环:使用最传统的 for 循环来遍历数组元素。 const array [1, 2, 3, 4, 5];for (let i 0; i < array.length; i) {console.log(array[i]); }forEach() 方法:使用数组的 …...
Redis -- 单线程模型
失败是成功之母 ——法国作家巴尔扎克 目录 单线程模型 Redis为什么这么快 单线程模型 redis只使用一个线程,处理所有的命令请求,不是说redis服务器进场内部真的就只有一个线程,其实也有多个线程,那就是处理网络和io的线程。 R…...
C语言第十五弹---操作符(上)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 操作符 1、操作符的分类 2、二进制和进制转换 2.1、2进制转10进制 2.1.1、10进制转2进制数字 2.2、2进制转8进制和16进制 2.2.2、2进制转16进制 3. 原码、反…...
使用宝塔面板访问MySQL数据库
文章目录 前言一、安装访问工具二、查看数据库总结 前言 前面我们已经部署了前后端项目,但是却不能得到数据库的信息,看有谁再使用你的项目。例如员工、用户等等。本次博客进行讲解如何在宝塔面板里面访问MySQL数据库。 一、安装访问工具 1、打开软件商…...
Win10 双网卡实现同时上内外网
因为需要同时上内网和外网,但公司做了网络隔离,不能同时上内外网,所以多加了块无线网卡,配置双网关实现同时上内外网,互不影响 打开 Windows PowerShell(管理员),输入:ro…...
Django模型(六)
一、其它查询 文档:https://docs.djangoproject.com/zh-hans/4.1/ref/models/querysets/#count 1.1、排序 Queryset.order_by(*fields) 默认情况下,QuerySet 返回的结果是按照模型 Meta 中的 ordering 选项给出的排序元组排序的 可以通过使用 order_by 方法在每个 QueryS…...
【Linux】Linux基本指令
目录 1.ls指令 2.cd指令 3.touch指令 4.mkdir指令 5.rmdir指令和rm指令 5.1rmdir指令 5.2rm指令 6.man指令 7.cp指令 8.mv指令 9.cat指令 10.more指令 && less指令 10.1more指令 10.2less指令 11.head指令 && tail指令 11.1head指令 11.2tai…...
stm32中的SPI
SPI的简介 文章目录 SPI的简介物理层协议层基本通讯过程起始和终止信号数据有效性CPOL/CPHA及通讯模式 STM3的SPI特性及架构通讯引脚时钟控制逻辑数据控制逻辑整体控制逻辑通讯过程 代码配置实现指令集结构体的定义SPI时钟信号的定义SPI端口定义SPI命令 flash驱动代码初始化代码…...
ChatGPT可与自定义GPTs一起使用,智能AI代理时代来啦!
1月31日凌晨,OpenAI在社交平台公布了一个超强新功能,可以在ChatGPT中输入“GPTs名字”的方法,调用多个自定义GPTs一起协同工作。 例如,我想开发一款社交APP,1)可以先用专业分析GPTs做一下市场调研…...
《Numpy 简易速速上手小册》第1章:Numpy 基础(2024 最新版)
文章目录 1.1 创建和操作 Numpy 数组1.1.1 基础知识1.1.2 完整案例:多维数据分析1.1.3 拓展案例 1:时间序列数据1.1.4 拓展案例 2:图像数据处理 1.2 数组的索引和切片1.2.1 基础知识1.2.2 完整案例:时间序列分析1.2.3 拓展案例 1&…...
【美团】SaaS技术部-后端研发工程师(海外业务)
部门介绍 美团餐饮系统为餐饮企业提供一站式IT解决方案,帮助餐饮商户实现从供应链管理、生产管理、前厅管理到外卖的数字化经营。美团餐饮系统不仅打通了餐厅和平台,更帮助餐厅连接客人,让商户更了解顾客需求,在帮助商户做商业决…...
linux安装mongodb数据库启动报错? 都是冰红茶滴水儿
先展示报错信息 网上一大推说是关闭不正确导致的,然后给出的解决方法是 ./mongod -f mongodb.conf --repair吊用没有,还是报错: about to fork child process, waiting until server is ready for connections. forked process: 302226 ERROR: child process failed, exited…...
win11安装wsl作为linux子系统并当作服务器
wsl安装 打开控制面板,找到启用或关闭windows功能 开启windows虚拟机监控平台和适用于Linux的Windows子系统,重启电脑。 打开microsoft store搜索ubuntu,找到合适的版本下载安装 输入wsl -l如下所示,即为安装成功。 安装过程比较…...
户用光伏电站的管理包括哪些内容?需要怎么做?
户用光伏电站在运行后需要进行一系列的管理工作,包括安全、运行、质量和数据等等,从而保证电站的安全、经济、高效运行。 1.安全管理 光伏电站的安全管理是非常重要的,包括电站的防雷、防火、防盗等措施,以及电站内部的安全管理…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...
WEB3全栈开发——面试专业技能点P4数据库
一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await…...
