在 macos 上用 mkcert + vite(或 vue cli/express)配置本地 https 与局域网访问,实现真机无警告调试及热更新:先 brew install mkcert 并 mkcert -install 信任根证书;再查本机 ip(如 192.168.1.23),运行 mkcert localhost 127.0.0.1 ::1 192.168.1.23 生成证书;最后在 vite.config.js 中配置 https 和 host: '0.0.0.0' 即可。
在 macos 上配置支持本地网络代码同步的轻量级开发测试服务器,关键在于两点:一是启用 https(让真机调试无证书警告),二是开放局域网访问(使手机、平板等设备能通过 ip 直接访问)。最实用、低侵入的方案是用 mkcert + vite(或 vue cli/express) 组合,全程无需 docker、virtualbox 或复杂配置。
安装并信任本地证书根 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 全部识别
生成适配多地址的本地证书
进入你的项目根目录,运行命令生成含 localhost、IPv4、IPv6 和当前局域网 IP 的证书:
- 先查本机局域网 IP:
ipconfig getifaddr en0(Wi-Fi)或ipconfig getifaddr en1(有线) - 再生成证书(示例中
192.168.1.23替换为你查到的真实 IP):mkcert localhost 127.0.0.1 ::1 192.168.1.23 - 成功后得到两个文件:
localhost+4.pem(证书)和localhost+4-key.pem(私钥) - ⚠️ 注意:Wi-Fi 网络切换后 IP 变更,需重新运行该命令更新证书
在开发服务器中启用 HTTPS 并开放局域网
以主流工具为例,只需几行配置即可同时支持 https://localhost:xxx 和 https://192.168.x.x:xxx 访问:
-
Vite 项目(
vite.config.js):import fs from 'fs'<br>export default {<br> server: {<br> https: {<br> cert: fs.readFileSync('./localhost+4.pem'),<br> key: fs.readFileSync('./localhost+4-key.pem')<br> },<br> host: '0.0.0.0', // 必须开启,否则仅限本机<br> port: 5173<br> }<br>} -
Vue CLI 项目(
vue.config.js):module.exports = {<br> devServer: {<br> https: {<br> cert: fs.readFileSync('./localhost+4.pem'),<br> key: fs.readFileSync('./localhost+4-key.pem')<br> },<br> host: '0.0.0.0',<br> port: 8080<br> }<br>} -
纯 Node.js / Express:
用https.createServer({ key, cert }, app)启动,路径同上;别忘了app.listen(port, '0.0.0.0')
验证同步与真机调试
启动服务后即可实测:
- Mac 浏览器访问
https://localhost:5173→ 地址栏显示锁图标,无“不安全”提示 - 同一 Wi-Fi 下的 iPhone/iPad/安卓手机访问
https://192.168.1.23:5173→ 同样无警告,可直接调试 H5、PWA、微信网页等 - 代码保存后,本地和真机页面自动热更新(Vite/HMR 默认支持)
- 如需双向同步(比如编辑远程文件或上传本地代码),可额外配 VS Code 的 SFTP 扩展,但对多数前端测试场景非必需











