1. 插件概述

@vitejs/plugin-basic-ssl 是 Vite 官方提供的轻量级 SSL 插件,用于快速为 Vite 开发服务器启用 HTTPS 服务,无需手动配置 SSL 证书——插件会自动生成并使用自签名的 SSL 证书,适用于本地开发场景(如需要 HTTPS 环境调试 PWA、支付回调、跨域等功能)。

核心特性

  • 零配置快速启用 HTTPS;
  • 自动生成/管理自签名 SSL 证书;
  • 兼容 Vite 2.x+ 所有版本;
  • 跨平台支持(Windows/macOS/Linux)。

2. 安装

前置条件

  • Node.js ≥ 14.18.0
  • Vite ≥ 2.0.0

安装命令

根据你的包管理器选择对应命令:

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

# yarn
yarn add @vitejs/plugin-basic-ssl -D

# pnpm
pnpm add @vitejs/plugin-basic-ssl -D

3. 基本使用

3.1 Vite 配置文件(vite.config.js/ts)

在 Vite 配置文件中引入并注册插件即可启用 HTTPS:

// vite.config.ts (TypeScript 示例)
import { defineConfig } from "vite";
import basicSsl from "@vitejs/plugin-basic-ssl";

export default defineConfig({
  plugins: [
    basicSsl(), // 注册插件,无额外配置即可启用 HTTPS
  ],
});
// vite.config.js (JavaScript 示例)
import { defineConfig } from "vite";
import basicSsl from "@vitejs/plugin-basic-ssl";

export default defineConfig({
  plugins: [basicSsl()],
});

3.2 启动开发服务器

启动 Vite 开发服务器后,访问地址会自动从 http://localhost:5173 变为 https://localhost:5173

# 启动开发服务器
npm run dev

启动成功后终端会输出类似日志:

  VITE v5.0.0  ready in 100 ms

  ➜  Local:   https://localhost:5173/
  ➜  Network: use --host to expose

4. 高级配置

插件支持传入可选配置项,自定义证书相关行为:

4.1 配置项说明

配置项类型默认值说明
certDirstring~/.vite-plugin-ssl证书存储目录(绝对路径/相对路径均可)
hostsstring[]['localhost', '127.0.0.1']证书中包含的域名/IP(解决多域名/IP 访问时的证书警告)

4.2 自定义配置示例

// vite.config.ts
import { defineConfig } from "vite";
import basicSsl from "@vitejs/plugin-basic-ssl";
import path from "path";

export default defineConfig({
  plugins: [
    basicSsl({
      // 自定义证书存储目录
      certDir: path.resolve(__dirname, "./ssl"),
      // 新增自定义域名/IP(如本地测试域名、局域网IP)
      hosts: ["localhost", "127.0.0.1", "test.local", "192.168.1.100"],
    }),
  ],
});

5. 解决浏览器证书警告

由于插件使用自签名证书,首次访问 HTTPS 地址时,浏览器会提示「您的连接不是私密连接」,需手动信任证书:

5.1 Chrome/Edge 浏览器

  1. 访问 https://localhost:5173,出现警告后点击「高级」;
  2. 选择「继续访问 localhost(不安全)」(不同版本文案略有差异);
  3. (可选)长期信任:将证书添加到系统信任列表(参考下方「进阶:永久信任证书」)。

5.2 Firefox 浏览器

  1. 访问 https://localhost:5173,出现警告后点击「高级」;
  2. 选择「添加例外」→「确认安全例外」。

5.3 进阶:永久信任证书

若不想每次启动都手动确认,可将插件生成的证书添加到系统信任列表:

  1. 找到证书存储目录(默认 ~/.vite-plugin-ssl,或自定义的 certDir);
  2. 目录内包含 cert.pem(证书)和 key.pem(私钥);
  3. 根据系统将 cert.pem 添加到「受信任的根证书颁发机构」:
    • macOS:双击 cert.pem → 「钥匙串访问」→ 右键证书 → 「显示简介」→ 「信任」→ 「使用此证书时」选择「始终信任」;
    • Windows:右键 cert.pem → 「安装证书」→ 「本地计算机」→ 「将所有证书放入下列存储」→ 「受信任的根证书颁发机构」→ 完成。

6. 常见问题

Q1:启动后仍显示 HTTP 地址?

  • 检查插件是否正确注册到 plugins 数组中;
  • 确认 Vite 版本 ≥ 2.0.0;
  • 重启 Vite 开发服务器(修改配置后需重启)。

Q2:自定义 hosts 后访问提示证书无效?

  • 确保 hosts 配置包含你访问的域名/IP;
  • 清除浏览器缓存,或重启浏览器后重试;
  • 重新生成证书:删除证书目录(如 ~/.vite-plugin-ssl),重启开发服务器。

Q3:证书目录权限不足?

  • 自定义 certDir 到项目内(如 ./ssl),避免系统目录权限问题;
  • 给证书目录赋予读写权限(如 chmod 755 ./ssl)。

7. 注意事项

  1. 该插件仅适用于本地开发环境,生产环境需使用正规 CA 机构颁发的 SSL 证书(如 Let's Encrypt);
  2. 自签名证书无法在生产环境使用,仅用于开发调试;
  3. 若同时配置 Vite 的 server.https 选项,插件会覆盖该配置的默认行为;
  4. 升级插件后,若出现证书问题,可删除旧证书目录重新生成。

四下皆无人