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

news2025/3/18 3:16:20

解决在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.coloradmin.cn/o/2316944.html

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

相关文章

spring声明式事务原理01-调用第1层@Transactional方法(事务访问入口)

文章目录 【README】【步骤1】UserAppService调用userSupport.saveNewUser()【步骤2】获取到TransactionInterceptor【步骤3】chain不为空&#xff0c;接着执行CglibMethodInvocation#proceed方法【补充】AopContext作用 【步骤4】CglibMethodInvocation#proceed方法【步骤5】调…

Qt-D指针与Q指针的设计哲学

文章目录 前言PIMLP与二进制兼容性D指针Q指针优化d指针继承Q_D和Q_Q 前言 在探索Qt源码的过程中会看到类的成员有一个d指针&#xff0c;d指针类型是一个private的类&#xff0c;这种设计模式称为PIMPL&#xff08;pointer to implementation&#xff09;&#xff0c;本文根据Q…

数据结构——单链表list

前言&#xff1a;大家好&#x1f60d;&#xff0c;本文主要介绍数据结构——单链表 目录 一、单链表 二、使用步骤 1.结构体定义 2.初始化 3.插入 3.1 头插 3.2 尾插 3.3 按位置插 四.删除 4.1头删 4.2 尾删 4.3 按位置删 4.4按值删 五 统计有效值个数 六 销毁…

基于PHP的网店进销存管理系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 相比于以前的传统进销存管理方式&#xff0c;智能化的管理方式可以大幅降低进销存管理的运营人员成本&#xff0c;实现了进销存管理的标准化、制度化、程序化的管理&#xff0c;有效地防止了商品信息及仓库信息的随意管理&#xff0c;提高了信息的处理速度和精确度&#…

Vue3 Pinia $subscribe localStorage的用法 Store的组合式写法

Vue3 Pinia $subscribe 可以用来监视Stroe数据的变化 localStorage的用法 localStorage中只能存字符串&#xff0c;所有对象要选转成json字符串 定义store时&#xff0c;从localStorage中读取数据talkList可能是字符串也可能是空数组 Store的组合式写法 直接使用reactiv…

【PHP】获取PHP-FPM的状态信息

文章目录 一、前言二、环境三、过程1&#xff09;修改PHP-FPM配置文件2&#xff09;修改Nginx配置文件3&#xff09;访问页面4&#xff09;修改状态页面端口 一、前言 PHP-FPM内置有一个状态页面&#xff0c;通过这个页面可以获取到FPM的一些状态信息&#xff08;见下图&#…

(性能测试)性能测试工具 2.jmeter的环境搭建 3jmeter元件和4使用实例 5jmeter元件和参数化

目录 性能测试工具 性能测试工具 jemeter环境搭建 jmeter的常用目录介绍 jmeter修改语言和主题--jmeter界面的汉化 jmeter元件 jmeter元件和组件的介绍 jmeter的作用域原则 jmeter的执行顺序 案例&#xff1a;执行顺序 jmeter使用案例 jmeter线程组的介绍 jmeter…

Java 大视界 -- 基于 Java 的大数据实时流处理中的窗口操作与时间语义详解(135)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

数据库的基本知识

目录 一、创建数据库和数据表1.1 创建数据库相关代码1.2 创建数据表1.3 约束条件1.3.1 主键约束1.3.2 非空约束1.3.3 唯一性约束1.3.4 默认约束1.3.5 自增字段 1.4 手工建表 二、数据查询功能2.1 sql 查询的7个关键词2.1.1 select2.1.2 from2.1.3 where2.1.4 group by2.1.5 hav…

失败的面试经历(ʘ̥∧ʘ̥)

一.面向对象的三大特性 1.封装&#xff1a;将对象内部的属性私有化&#xff0c;外部对象不能够直接访问&#xff0c;但是可以提供一些可以使外部对象操作内部属性的方法。 2.继承&#xff1a;类与类之间会有一些相似之处&#xff0c;但也会有一些异处&#xff0c;使得他们与众…

Android 7 及以上夜神模拟器,Fiddler 抓 https 包

文章目录 问题描述解决方案环境准备操作步骤1、导出 Fiddler 证书并修改成 .pem 和 .0 文件2、修改夜神模拟器配置3、打开夜神模拟器设备的 USB 调试选项4、将0725b47c.0证书放入夜神模拟器系统证书目录5、夜神模拟器 cmd 环境配置6、给 0725b47c.0 证书赋予权限7、打开 fiddle…

全国医院数据可视化分析系统

【大数据】全国医院数据可视化分析系统 &#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 &#x1f3e5; 项目名&#xff1a;医疗导航神器&#xff01;——《基于大数据的微医挂号网医院数据可视…

音视频入门基础:RTCP专题(1)——RTCP官方文档下载

一、引言 实时传输控制协议&#xff08;Real-time Transport Control Protocol或RTP Control Protocol或简写RTCP&#xff09;是实时传输协议&#xff08;RTP&#xff09;的一个姐妹协议。RTCP由《RFC 3550》定义&#xff08;取代废弃的《RFC 1889》&#xff09;。RTP使用一个…

蓝桥杯专项复习——结构体、输入输出

目录 结构体&#xff1a;排序 输入输出 结构体&#xff1a;排序 [NOIP2007]奖学金 #include<iostream> #include<cstring> #include<algorithm>using namespace std;const int N310; int n;struct Student {int chinese,math,eng,sum;int idx; }Stu[N];//定…

工作记录 2017-01-06

工作记录 2017-01-06 序号 工作 相关人员 1 协助BPO进行Billing的工作。 修改CSV、EDI837的导入。 修改邮件上的问题。 更新RD服务器。 郝 修改的问题&#xff1a; 1、 In “Full Job Summary” (patient info.), sometime, the Visit->Facility is missed, then …

LLM(2):准备构建 LLM

在了解大语言模型一文中&#xff0c;对 LLM 做了初步介绍&#xff0c;本文接续前一篇文章的内容&#xff0c;简要介绍 LLM 的应用和构建过程。 1.2 LLM 的应用 由于大型语言模型&#xff08;LLMs&#xff09;在解析和理解非结构化文本数据方面具备先进能力&#xff0c;它们在…

pytest+allure+jenkins

本地运行参考&#xff1a;pytestallure 入门-CSDN博客 jenkins运行如下&#xff1a; 安装插件&#xff1a;allure 配置allure安装目录 配置pytest、allure 环境变量 配置流水线 进行build,结果如下 ,点击allure report 查看结果

【linux篇】--linux常见指令

文章目录 一、Linux基本概念 二、Linux入门 1.目录结构 2.Linux命令 *Linux基础命令 ls命令的选项&#xff1a; 3.目录切换相关命令&#xff08;cd & pwd) 4.相对&绝对路径和特殊路径符 4.1相对路径 4.2绝对路径 4.3 你特殊路径符 5.创建目录命令&#xff08;mkdir) 6.…

Kubernetes的组成和架构

Kubernetes&#xff08;K8s&#xff09;是一个开源的容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化应用程序。它由多个组件组成&#xff0c;这些组件可以分为两类&#xff1a;控制平面&#xff08;Control Plane&#xff09;组件和节点&#xff08;Node&#xff0…

Android之RecyclerView列表拖动排序

文章目录 前言一、效果图二、实现步骤1.xml布局2.activity代码3.adapter 总结 前言 随着需求的变化&#xff0c;很多地方需要加拖动改变顺序的需求&#xff0c;用RecyclerView就可以实现列表拖动排序&#xff0c;列如像朋友圈图片拖动排序&#xff0c;或者音乐播放器列表拖动排…