在 Windows 上使用 choco 安装 mkcert 并配置 Vue 运行HTTPS

解决在Windows上使用Vue本地运行HTTPS的问题,vue-cli或vite都可以使用

步骤 1:确认 Chocolatey 是否已安装

1. 检查 choco 命令是否可用

打开 PowerShell(管理员权限),输入:

choco -v
  • 如果显示版本号(如 2.4,3),说明已安装 Chocolatey。
    在这里插入图片描述

  • 如果提示 命令未找到,需先安装 Chocolatey。

步骤 2:安装 Chocolatey(如未安装)

1. 以管理员身份运行 PowerShell

右键点击 PowerShell 图标,选择 以管理员身份运行。

2. 执行安装命令

在 PowerShell 中输入:

Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  • 此命令会绕过执行策略并安装 Chocolatey。

3. 验证安装

输入 choco -v 或 choco --version,应显示版本号。
在这里插入图片描述
其他的choco命令在文章末尾有 使用例子

步骤 3:使用 choco 安装 mkcert

1. 安装 mkcert

在 PowerShell(管理员)中运行:

choco install mkcert
  • 按提示输入 Y 确认安装。

2. 初始化本地证书存储

mkcert -install
  • 此操作会将 mkcert 的根证书添加到系统信任列表,解决浏览器警告。

步骤 4:为本地开发生成证书

1. 生成 localhost 证书

mkcert localhost
  • 生成两个文件:localhost.pem(证书)和 localhost-key.pem(私钥)。
  • 也可以将两个文件放入一个文件夹下,比如创建http_ssl文件夹,然后目录切换到改文件夹执行mkcert命令
    在这里插入图片描述

步骤 5:配置 Vue 项目使用 HTTPS

1. 项目配置

1. vue-cli修改 vue.config.js

在项目根目录创建或修改 vue.config.js,添加以下内容:

const fs = require("fs");
const path = require("path");module.exports = {devServer: {https: {key: fs.readFileSync(path.resolve(__dirname, "localhost-key.pem")),cert: fs.readFileSync(path.resolve(__dirname, "localhost.pem")),},// port: 8080 // 可选,指定端口},
};
2. vite修改vite.config.js

在项目根目录创建或修改 vite.config.js,添加以下内容:

import path from 'path'
import fs from 'fs'
import { defineConfig} from 'vite'
export default defineConfig(({ command, mode }) => {const config = {server: {https: {// 'https_ssl/localhost-key.pem' 为第四步生产localhost-key.pem文件的位置key: fs.readFileSync(path.resolve(__dirname, 'https_ssl/localhost-key.pem')),// 'https_ssl/localhost.pem' 为第四步生产localhost.pem文件的位置cert: fs.readFileSync(path.resolve(__dirname, 'https_ssl/localhost.pem'))}}}return config
})

2. 重启 Vue 开发服务器

npm run serve

3. 访问 HTTPS 地址

打开浏览器访问:(端口和localhost 根据项目运行ip和端口修改)
https://localhost:8080

  • 浏览器应显示安全锁图标(无警告)。

常见问题解决

1. choco 安装失败

  • 确保使用管理员权限运行 PowerShell。
  • 检查网络是否允许下载脚本(某些企业网络可能拦截)。

2. 证书生成路径错误

  • 确认 localhost.pem 和 localhost-key.pem 在项目根目录。
  • 如果文件在其他位置,修改 vue(vite).config.js 中的路径。

3. 浏览器仍提示不安全

  • 确保运行了 mkcert -install。
  • 重启浏览器或清除缓存。

步骤总结: 完整流程总结

  1. 安装 Chocolatey(如未安装)。
  2. 通过 choco 安装 mkcert。
  3. 生成并信任本地证书。
  4. 配置 Vue 项目使用证书。
  5. 启动 HTTPS 服务。

通过以上步骤,即可在 Windows 上安全地通过 HTTPS 运行 Vue 项目。

扩展:使用 choco 命令

安装 Chocolatey 后,你可以使用 choco 命令来安装、更新和管理软件包。

常用命令:

安装软件包:
choco install <package-name>

例如,安装 git:

choco install git
升级软件包:
choco upgrade <package-name>
卸载软件包:
choco uninstall <package-name>
搜索软件包:
choco search <keyword>
列出已安装的软件包:
choco list --local-only

示例:安装 OpenSSL

如果你需要安装 OpenSSL(例如用于生成 SSL 证书),可以使用以下命令:

choco install openssl

安装完成后,你可以通过以下命令验证是否安装成功:

openssl version

更新 Chocolatey

如果需要更新 Chocolatey 本身,可以运行以下命令:

choco upgrade chocolatey

卸载 Chocolatey

如果你不再需要 Chocolatey,可以通过以下命令卸载:

choco uninstall chocolatey

注意事项

  • Chocolatey 默认会将软件包安装到 C:\ProgramData\chocolatey\lib 目录。
  • 安装某些软件包时,可能需要管理员权限。
  • 如果你在使用 choco 命令时遇到问题,可以尝试以管理员身份运行 PowerShell 或 CMD。

通过 Chocolatey,你可以更方便地管理和安装 Windows 上的软件包,包括开发工具、实用程序等。如果你经常在 Windows 上开发,Chocolatey 是一个非常实用的工具。

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

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

相关文章

【PHP】新版本特性记录(持续更新)

文章目录 前言PHP 7.01&#xff09;NULL合并运算符&#xff1a;??2&#xff09;参数、返回值支持类型声明3&#xff09;太空船操作符&#xff1a;<>4&#xff09;通过 define 定义常量数组5&#xff09;匿名类实例化6&#xff09;字符串里使用\u转义unicode codepoint …

【记】如何理解kotlin中的委托属性?

1. 什么是委托属性&#xff1f; 委托属性的核心思想是&#xff1a; 你可以将一个属性的 getter 和 setter 的逻辑交给一个外部对象&#xff08;称为委托对象&#xff09;来处理。这个外部对象负责存储属性的值&#xff0c;并提供自定义的 get 和 set 行为。 通过委托属性&am…

使用自动导入后,eslint报错 eslint9

前提&#xff1a;使用pnpm create vuelatest创建vue应用&#xff0c;并且在创建项目时就勾选eslint和prettier&#xff0c;不然有些配置还需要手动配&#xff0c;比如解决eslint和prettier的冲突问题 1. 解决使用自动导入后Eslint报错问题 配置vite.config.ts // 自动导入api…

springboot EasyExcel 实现导入导出

1. 添加依赖 确保 Maven 依赖中包含 EasyExcel 3.0.5&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version></dependency><!-- excel工具 --><dep…

实现悬浮按钮拖动,兼容h5和微信小程序

h5用js写&#xff0c;微信小程序用 代码里面没有完全实现吸附边缘的功能&#xff0c;需要吸附边缘的话还得自己再完善下&#xff08;h5的吸附边缘是可以的&#xff0c;小程序的还有点问题&#xff09; 主要功能是&#xff1a;图片上写文字的悬浮按钮&#xff0c;文字使用的是…

2、操作系统之软件基础

一、硬件支持系统 &#xff0c;系统管理硬件 操作系统核心功能可以分为&#xff1a; 守护者&#xff1a;对硬件和软件资源的管理协调者&#xff1a;通过机制&#xff0c;将各种各样的硬件资源适配给软件使用。 所以为了更好的管理硬件&#xff0c;操作系统引进了软件。其中3大…

17 | 实现简洁架构的 Biz 层

提示&#xff1a; 所有体系课见专栏&#xff1a;Go 项目开发极速入门实战课&#xff1b;欢迎加入 云原生 AI 实战 星球&#xff0c;12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力&#xff08;聚焦于 Go、云原生、AI Infra&#xff09;&#xff1b;本节课最终…

idea更新git代码报错No Git Roots

idea更新git代码报错&#xff1a; No Git Roots None of configured Git roots are under Git. The configured directory must have ".git directory in it.但是本地项目里是存在.git文件的&#xff0c;就是突然间不能更新代码了 然后尝试重新拉新项目代码提示: Git i…

Webpack 知识点整理

​ 1. 对 webpack 的理解&#xff1f;解决了什么问题&#xff1f; Webpack 是前端工程化领域的核心工具&#xff0c;其核心定位是模块打包器&#xff08;Module Bundler&#xff09;&#xff0c;通过将各类资源&#xff08;JS、CSS、图片等&#xff09;视为模块并进行智能整合…

[Hello-CTF]RCE-Labs超详细WP-Level13Level14(PHP下的0/1构造RCE命令简单的字数限制RCE)

Level 13 源码分析 这题又回到了 PHP重点关注preg_match("/[A-Za-z0-9\"%*,-.\/:;>?[\]^|]/", $cmd)禁用了所有数字, 并且回到了 PHP, 没办法用上一关的方法进行绕过但是比起上一关, 给我们少绕过了 &, ~, _似乎有其他方法 解题分析 利用 $(()) 和 …

Qt 控件概述 QWdiget 1.1

目录 qrc机制 qrc使用 1.在项目中创建一个 qrc 文件 2.将图片导入到qrc文件中 windowOpacity&#xff1a; cursor 光标 cursor类型 自定义Cursor font tooltip focusPolicy styleSheet qrc机制 之前提到使用相对路径的方法来存放资源&#xff0c;还有一种更好的方式…

【eNSP实战】将路由器配置为DHCP服务器

拓图 要求&#xff1a; 为 office100 和 office200 分别配置地址池 AR1接口配置 interface GigabitEthernet0/0/0ip address 192.168.100.1 255.255.255.0 # interface GigabitEthernet0/0/1ip address 192.168.200.1 255.255.255.0 AR1路由器上创建office100地址池 [AR1…

数据结构——顺序表seqlist

前言&#xff1a;大家好&#x1f60d;&#xff0c;本文主要介绍了数据结构——顺序表部分的内容 目录 一、线性表的定义 二、线性表的基本操作 三.顺序表 1.定义 2. 存储结构 3. 特点 四 顺序表操作 4.1初始化 4.2 插入 4.2.1头插 4.2.2 尾插 4.2.3 按位置插 4.3 …

OSPF | LSDB 链路状态数据库 / SPF 算法 / 实验

注&#xff1a;本文为 “OSPF | LSDB / SPF ” 相关文章合辑。 LSDB 和 SPF 算法 潇湘浪子的蹋马骨汤 发布 2019-02-15 23:58:46 1. 链路状态数据库 (LSDB) 链路状态协议除了执行洪泛扩散链路状态通告&#xff08;LSA&#xff09;以及发现邻居等任务外&#xff0c;其第三个任…

前端---CSS(前端三剑客)

1.基本语法规范 选择器 {⼀条/N条声明} • 选择器决定针对谁修改 (找谁) • 声明决定修改啥. (⼲啥) • 声明的属性是键值对. 使⽤ ; 区分键值对, 使⽤ : 区分键和值 比如&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta…

【C++】 —— 笔试刷题day_6

刷题day_6&#xff0c;继续加油哇&#xff01; 今天这三道题全是高精度算法 一、大数加法 题目链接&#xff1a;大数加法 题目解析与解题思路 OK&#xff0c;这道题题目描述很简单&#xff0c;就是给我们两个字符串形式的数字&#xff0c;让我们计算这两个数字的和 看题目我…

todolist docker 小工具

参考链接 前排提示 没有中文&#xff0c;可使用浏览器 翻译 前提 安装docker安装docker-compose 下载仓库 git clone https://github.com/JordanKnott/taskcafe进行安装 cd taskcafe docker-compose -p taskcafe up -d服务启动后会监听在 3333 端口上&#xff0c;通过浏览器…

Unity--GPT-SoVITS接入、处理GPTAPI的SSE响应流

GPT-SoVITS GPT-SoVITS- v2&#xff08;v3也可以&#xff0c;两者对模型文件具有兼容&#xff09; 点击后 会进入新的游览器网页 ----- 看了一圈&#xff0c;发现主要问题集中在模型的训练很需要CPU&#xff0c;也就是模型的制作上&#xff0c;问题很多&#xff0c;如果有现有…

《TypeScript 快速上手:类型、编译与严格模式的简明教程》

一、TypeScript介绍 在引入编程社区 20 多年后&#xff0c;JavaScript 现在已成为有史以来应用最广泛的跨平台语言之一。JavaScript 最初是一种用于向网页添加微不足道的交互性的小型脚本语言&#xff0c;现已发展成为各种规模的前端和后端应 用程序的首选语言。虽然用 JavaSc…

ROS2 系统架构

1.操作系统层 ros2是基于Linux、Windows、macOS系统建立的&#xff0c;这一层为ros2提供了各种基础的硬件驱动&#xff0c;比如网卡驱动&#xff0c;常用USB驱动和常用摄像头驱动等。 2.DDS实现层 ros2的核心通信是采用第三方的通信组件来实现的&#xff0c;这个第三方就是数…