《开发环境使用HTTPS调试》

news2024/9/20 18:26:09

在这里插入图片描述

🤖 作者简介:水煮白菜王 ,一位资深前端劝退师 👻
👀 文章专栏: 前端专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧✍。
感谢支持💕💕💕

近期文章:
《mkcert介绍及使用》

目录

      • 直接看操作👀下面的正文👉 [正文](#link01)
      • mkcert
      • create-ca 和 create-cert
        • create-ca
        • create-cert
      • 1.为系统安装mkcert
      • 2.查看版本检验是否安装成功
      • 3.创建证书颁发机构
      • 4.创建证书
      • 5.对生成ca.crt进行安装
      • 6.在项目config配置文件`devServer`下引入对应的证书文件
      • 7.运行项目验证
      • 8.vue3 + vite

在开发环境中, 有时会需要模拟https环境,来调试硬件及其他业务要求必须使用https访问。本地需要使用自签SSL证书使用的CA证书添加到系统或浏览器的可信CA证书,解决浏览器的信任。为了更方便开的发调试,我们来使用一种更加方便生成本地https证书,并且信任自签CA的方案 mkcert

直接看操作👀下面的正文👉 正文

mkcert

mkcert是一个使用go语言编写,用于生成本地开发环境中的受信任的 SSL/TLS 证书,具有跨平台,支持多域名,自动信任CA等一系列方便的特性可供开发者快速地为本地域名设置安全的https环境。

这对于在本地开发环境中测试 HTTPS 连接非常有用,因为它可以为你的本地开发域名生成自签名的证书,并通过一个根证书(CA)使其在你的系统上被信任。

create-ca 和 create-cert

create-ca 和 create-cert 是 mkcert 工具中使用的子命令。mkcert 主要通过这两个子命令来生成根证书(CA)和为特定域名生成证书。

在日常使用中,mkcert 的默认用法已经涵盖了 create-ca 和 create-cert 的功能,因此通常不需要单独使用这两个子命令。

create-ca

create-ca 子命令用于生成一个根证书(CA)。这个根证书将被用来签发其他证书。在 mkcert 中,通常不需要显式地使用 create-ca,因为 mkcert 会在第一次运行时自动创建根证书并安装它。

mkcert -create-ca

这将生成一个根证书,通常位于 ~/.local/share/mkcert/rootCA.pem 文件中。

create-cert

create-cert 子命令用于为特定的域名生成证书。这些证书是由前面生成的根证书签发的,因此会被系统信任。

mkcert -create-cert example.local

这将为 example.local 生成一个证书和对应的私钥,通常位于 example.local.pem 和 example.local-key.pem 文件中。

### 正文 为快速搭建本地开发https环境 以及 更好地理解 mkcert 的工作原理,我们以 `create-ca` 和 `create-cert` 的过程生成的文件进行配置 。下面一把流操作最后在在项目config配置文件引入

1.为系统安装mkcert

 npm install -g mkcert    

2.查看版本检验是否安装成功

mkcert --version

3.创建证书颁发机构

将生成一个根证书 ca.crt 和对应的私钥 ca.key

mkcert create-ca

4.创建证书

为特定域名生成的证书cert.crt、对应的私钥cert.key

mkcert create-cert

在这里插入图片描述

5.对生成ca.crt进行安装

注意的是安装证书存储选择受信任的根证书颁发机构,其他操作闭眼睛一路通过即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.在项目config配置文件devServer下引入对应的证书文件

<!-- Vue 2 Code -->
const path = require('path')
const fs = require('fs') // 处理读写模块

module.exports = {
	
	// ...
	devServer: {
		// ...
		https: {
			cert: fs.readFileSync(path.join(__dirname, './cert.crt')), 
			key: fs.readFileSync(path.join(__dirname, './cert.key'))  
		},
	},
}

7.运行项目验证

在这里插入图片描述

8.vue3 + vite

Vue3也可以向上面Vue2一样配置https,但没必要这么操作臃肿,vue3使用vite插件vite-plugin-basic-ssl来配置https,如果真没有用vite😂,那这是天命人了😇

在这里插入图片描述

npm install -D @vitejs/plugin-basic-ssl

import { defineConfig } from "vite";
import basicSsl from '@vitejs/plugin-basic-ssl'
 
export default defineConfig(()=>{
	server: {
	    https: true, //开启https
   		// ...
   },
   plugins: [
   		basicSsl(), //加载插件
   		// ...
   ]
})

在这里插入图片描述
如果你觉得这篇文章对你有帮助,请点赞 👍、收藏 👏 并关注我!👀
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2120985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CoreDownload - WordPress文章下载增强插件v1.0.6

文章内下载效果 后台编辑页面 CoreDownload 是一款高级WordPress 下载增强插件&#xff0c;支持几乎所有网盘&#xff0c;为WordPress增加任意下载功能 安装插件后&#xff0c;在设置中全局开启。然后编辑文章&#xff0c;可以在下面找到CoreDownload下载增强功能。 插件下载 …

以太网和WIFI之间的网络切换脚本(Window环境)

网络切换脚本 在本地创建Window的批处理脚本【网络切换脚本.bat】&#xff0c;填入以下内容&#xff0c;然后以管理员身份运行&#xff0c;即可实现以太网和WIFI之间的切换。 echo off netsh interface show interface "WLAN" | find "管理状态: 已启用"…

SLM21814系列SiLM21814CJ-AQ能提供独立的高边、低边输出驱动信号 一款高压、高速的功率MOSFET和IGBT驱动器

SLM21814系列SiLM21814CJ-AQ是一款高压、高速的功率MOSFET和IGBT驱动器&#xff0c;它提供独立的高边、低边输出驱动信号。采用专有的高压集成电路和锁存免疫CMOS技术&#xff0c;提供可靠的单芯片驱动方案。逻辑输入电平与标准CMOS或LSTTL输出兼容&#xff0c;最低支持3.3V逻辑…

家常菜才最适合减肥!最新研究发现,减少外出就餐次数可减少儿童肥胖

虽然老人们都喜欢孩子能“白白胖胖”&#xff0c;但随着生活水平的提高&#xff0c;儿童肥胖已成为一个不可忽视的健康问题。据报道&#xff0c;我国6-17岁儿童青少年超重率和肥胖率分别是11.1%和7.9%&#xff0c;也就是说&#xff0c;几乎每5个中小学生中就有一个小胖墩儿。 有…

如何在算家云搭建Open-Sora1.1(视频生成)

一、Open-Sora1.1简介 Open-Sora 1.1 项目是 Colossal AI 团队开发的一个完全开源的视频生成项目&#xff0c;该项目致力于高效制作高质量视频&#xff0c;并通过开源原则实现先进视频生成技术的低成本普及。 1. 项目背景与目标 Open-Sora 项目旨在通过提供开源的模型、工具…

【Python】数据可视化之核密度

KDEPlot&#xff08;Kernel Density Estimate Plot&#xff0c;核密度估计图&#xff09;是seaborn库中一个用于数据可视化的函数&#xff0c;它基于核密度估计&#xff08;KDE&#xff09;这一非参数统计方法来估计数据的概率密度函数。KDEPlot能够直观地展示数据的分布特征&a…

定点荧光标记蛋白:轻松搞定CAR-T阳性率检测

CAR-T细胞疗法在8月份提前进入“丰收季”。8月27日NMPA官网公示&#xff0c;**国内第五款CAR-T细胞疗法——来自传奇生物的西达基奥仑赛注射液获批上市。**这款靶向BCMA的细胞疗法用于治疗复发或难治性多发性骨髓瘤&#xff08;R/R MM&#xff09;成人患者。同一天&#xff0c;…

NDP协议是怎样帮助IPv6实现网络安全运行的?

在复杂多变的网络环境中&#xff0c;确保各节点之间能够高效、准确地发现与通信&#xff0c;是构建稳定、可扩展网络架构的基石。那么IPv6是依靠什么实现网络安全运行的呢&#xff1f;今天我将就IPv6中的一个重要协议——NDP协议的基本概念及工作原理展开深入分析。 NDP协议的基…

体育馆管理系统|基于SpingBoot+vue的体育馆管理系统(源码+数据库+文档)

体育馆管理系统 目录 基于SpingBootvue的体育馆管理系统 一、前言 二、系统设计 三、系统功能设计 系统功能实现 1登录 2学生管理页面 3系统主界面模块的实现 4器材管理模块的实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源…

ICM20948 DMP代码详解(11)

接前一篇文章&#xff1a;ICM20948 DMP代码详解&#xff08;10&#xff09; 上一回讲解完了icm20948_sensor_setup函数的第1段代码&#xff0c;本回继续往下解析。为了便于理解和回顾&#xff0c;再次贴出icm20948_sensor_setup函数源码&#xff0c;在EMD-App\src\ICM20948\sen…

一文讲清投影,定义投影,投影栅格……

正确的空间坐标系是进行地理分析和处理的基础&#xff0c;投影是其中十分重要的概念。在ArcGIS系列的软件中关于投影的工具有四个&#xff0c;分别是定义投影、投影、投影栅格、批量投影。 你能分清他们吗&#xff1f; 如果不能。别急&#xff0c;下面我来给你一一介绍。 定…

虚拟机卡死问题

升级VMware至15.1.0版本解决Windows 10 1903下VMware Workstation 15 Pro虚拟机死机问题 如题&#xff0c;在几乎全新的Windows 10 1903操作系统下&#xff0c;在VMware Workstation中安装虚拟机经常出现死机现象&#xff0c;主要表现在以下两个方面&#xff1a; 创建好虚拟机后…

【Qt】按钮样式--按钮内部布局(调整按钮文本和图标放置在任意位置)

要求&#xff1a; 有一个按钮&#xff0c;要求按钮的右下角显示开关&#xff0c;点击切换开关状态 ps&#xff1a;注意&#xff0c;要求你添加完了之后&#xff0c;整个按钮的点击区域不变&#xff08;就是说&#xff0c;点击右下角的文本&#xff0c;也可以触发按钮的点击事件…

.net MAUI应用生命周期

.NET Multi-platform App UI (.NET MAUI) 应用通常有四种执行状态&#xff1a;“未运行”、“运行中”、“已停用”和“已停止”。 当应用从未运行状态转换为运行状态、从运行状态转换为已停用状态、从已停用状态转换为已停止状态、从已停止状态转换为运行状态&#xff0c;以及…

四七层如何获取客户端真实地址

7层代理会对报文进行重新封装&#xff0c;封装过程中可以通过增加XFF的header传递客户端IP。4层转发不会修改报文。在不修改HTTP报文前提下&#xff0c;前置补充代理信息, 格式: PROXY TCP 客户端IP 代理端IP 客户端端口 代理端端口。 nginx 七层代理配置&#xff1a; server …

JavaEE---Spring MVC(6)

如何创建一个spring项目呢 2. 3. 上述步骤结束后就ok了

PLM系统有哪些品牌推荐?国内不错的PLM厂商有哪些?

在当今快速变化的商业环境中&#xff0c;产品生命周期管理PLM系统已成为企业技术创新和管理创新的重要工具。PLM系统涵盖了产品从概念设计到市场推出、使用维护直至最终报废的整个生命周期&#xff0c;通过整合与产品相关的所有信息&#xff0c;助力企业实现高效、协同的产品开…

SuperMap GIS基础产品FAQ集锦(20240909)

一、SuperMap iDesktopX 问题1&#xff1a;镶嵌了一份550GB的DOM&#xff0c;双击加载到地图需要读取550GB的数据&#xff0c;耗时很久&#xff0c;加载到地图后一操作就需要再次读取&#xff0c;请问在不创建金字塔的情况下&#xff0c;如何把这份数据集保存到地图&#xff0…

【Hot100算法刷题集】哈希-03-最长连续序列(含排序、哈希、并查集法未正确使用哈希表导致算法效率降低的分析)

&#x1f3e0;关于专栏&#xff1a;专栏用于记录LeetCode中Hot100专题的所有题目 &#x1f3af;每日努力一点点&#xff0c;技术变化看得见 题目转载 题目描述 &#x1f512;link->题目跳转链接 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#x…

记录一下linux安装nginx,也是很简单了啦

1、下载nginx 官网下载nginx&#xff1a;http://nginx.org/&#xff0c;这里很简单&#xff0c;下载自己想要的版本就行&#xff0c;这里不罗嗦 1、进入home目录&#xff0c;建一个文件夹nginx rootroot ~]# cd /home rootroot home]# mkdir nginx rootroot home]# cd /nginx2…