推荐用 mkcert 在 macOS 配置 HTTPS 本地开发服务器:先 brew install mkcert 并运行 mkcert -install 信任根证书;再用 mkcert localhost 127.0.0.1 ::1 [局域网IP] 生成证书文件;最后在 Vite/Vue CLI/Express 等配置中指定证书路径即可启用 HTTPS,支持真机调试和安全 API。

在 macOS 上配置支持 HTTPS 的本地开发测试服务器,核心是让浏览器信任你生成的证书。最推荐的方式是用 mkcert —— 它自动处理根证书安装和域名/IP 证书签发,无需手动配置 OpenSSL 或修改系统设置,且对 Vue、Vite、UniApp、React 等现代前端框架都通用。
安装 mkcert 并信任本地 CA
这是只需做一次的基础准备:
- 确保已安装 Homebrew(没装可运行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)") - 执行:
brew install mkcert - 运行:
mkcert -install
它会自动生成一个本地根证书,并添加到 macOS 系统钥匙串中,同时设为“始终信任”——所有主流浏览器(Chrome、Safari、Firefox、Edge)都会立即识别并信任后续签发的证书。
为本地环境生成证书文件
进入你的项目根目录,运行命令生成包含多个地址的证书(适配不同访问方式):
- 命令示例:
mkcert localhost 127.0.0.1 ::1 192.168.1.23
其中192.168.1.23换成你当前 Wi-Fi 的真实局域网 IP(可用ipconfig getifaddr en0查看) - 成功后生成两个文件:
localhost+4.pem(证书,含 localhost、IPv4、IPv6、局域网 IP)localhost+4-key.pem(对应私钥) - 提示:Wi-Fi 网络变更后需重新运行该命令,证书才对新 IP 有效。
在开发服务器中启用 HTTPS
根据你使用的工具,在配置中指定证书路径即可:
-
Vite 项目:编辑
vite.config.js,加入:server: { https: { cert: fs.readFileSync('./localhost+4.pem'), key: fs.readFileSync('./localhost+4-key.pem') }, host: '0.0.0.0', port: 5173 } -
Vue CLI 项目:在
vue.config.js的devServer中添加:https: { cert: fs.readFileSync('./localhost+4.pem'), key: fs.readFileSync('./localhost+4-key.pem') } -
纯 Node.js 或 Express:用
https.createServer({ key, cert }, app)启动,路径同上。
验证与真机调试
启动服务后:
- 浏览器访问
https://localhost:5173(或你设的端口),地址栏显示锁图标,无警告 —— 表示证书已被信任 - 同一局域网内手机访问
https://192.168.1.23:5173同样生效(前提是手机和 Mac 在同一网络) - 此时可正常使用
getUserMedia、navigator.geolocation、ServiceWorker等需要安全上下文的 API











