真机调试报错“uni-app证书与网络配置”本质是HTTPS证书校验失败或网络超时,主因是dev server未启用HTTPS、证书未安装信任、代理未开启或微信安全设置拦截。

真机调试报错“uni-app证书与网络配置”是什么意思
这不是一个具体错误信息,而是微信开发者工具在真机调试时抛出的模糊提示,本质是 HTTPS 证书校验失败 或 network timeout 导致的连接中断。根本原因不是 uni-app 本身有问题,而是 H5 模式下 dev server 的本地 HTTPS 服务没配好,或小程序基础库版本与调试方式不兼容。
为什么用 npm run dev:mp-weixin 真机扫不出页面
因为这个命令默认启动的是 HTTP 服务(http://localhost:8080),而微信真机调试强制要求 HTTPS。你扫出来的二维码实际指向一个代理地址(如 https://xxxxx.wxlocal/),它需要反向代理到本地,但代理层缺失或证书不受信就会卡在白屏 + 这个提示。
- 确保运行的是
npm run dev:mp-weixin -- --https(加--https启用本地 HTTPS) - 首次运行会生成
cert.pem和key.pem,必须手动双击安装cert.pem到系统钥匙串(macOS)或受信任的根证书颁发机构(Windows) - 微信开发者工具需开启「真机调试」→「启用 HTTPS 代理」,且勾选「不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书」(仅开发阶段)
- 部分 macOS 系统(如 Ventura+)会拦截自签名证书,需在「钥匙串访问 → 登录 → 证书 → 右键 cert → 显示简介 → 信任 → 始终信任」
uni.request 在真机报 request:fail net::ERR_CONNECTION_REFUSED
这是最典型的网络配置坑:H5 模式下 uni.request 默认走浏览器同源策略,而真机调试时请求发向的是本地 http://localhost:8080(HTTP),但微信环境只允许 HTTPS 请求,且不允许 localhost。
- 不要在真机调试时直接调用
uni.request请求http://localhost,一律改用真实后端地址(HTTPS) - 如需本地联调,推荐用
uni.uploadFile/uni.downloadFile等 API 的header中带 cookie 的方式绕过限制,或改用uniCloud云函数中转 - 检查
manifest.json→「H5 配置」→「运行基础路径」是否误填了http://localhost,应留空或填线上域名 - 微信基础库 2.27.0+ 对
localhost的拦截更严格,低版本可临时降级测试,但不建议长期依赖
为什么装了证书还是提示“证书与网络配置”
证书只是第一步,微信真机调试链路里还有三个容易被忽略的环节:代理服务是否运行、端口是否被占、以及微信开发者工具的代理开关是否和 uni-app 启动参数匹配。
- 确认控制台输出中有类似
Starting https server on https://localhost:8080,而不是http - 杀掉所有占用 8080 的进程(
lsof -i :8080或netstat -ano | findstr :8080) - 微信开发者工具 → 设置 → 安全 → 关闭「安全域名校验」,否则即使开了 HTTPS 也会因域名不匹配被拦截
- uni-app CLI 版本太旧(如 3.1.x)可能不支持
--https参数,升级到@dcloudio/vue-cli-plugin-uni@3.4.0+再试
证书装了、HTTPS 开了、代理开了、域名放行了——这些点只要漏一个,就卡在那个模糊提示里。真机调试不是“扫一下就行”,它本质是一条跨协议、跨设备、跨证书的信任链,每环都得对得上。


















