调用本地API时Vite报自签名证书错误的问题排查与解决
问题原因与解决方法
错误原因
你遇到的自签名证书错误,核心原因是Vite代理请求目标HTTPS服务器时,Node.js默认会严格验证服务器证书的合法性。你的本地IIS API使用的是自签名证书,不属于受信任证书机构(CA)颁发的合法证书,因此Node.js会拒绝信任该证书并抛出错误。
你安装的basicSsl插件仅用于给Vite自身的开发服务器生成自签名证书,和代理目标服务器的证书验证逻辑完全无关,所以无法解决这个问题。
解决方法
无需安装额外NPM包,只需在Vite的代理配置中添加secure: false,关闭对目标服务器证书的验证即可——这在本地开发场景下是安全且合理的操作。
修改后的vite.config.ts代理配置如下:
server: { https: true, proxy: { '/api': { target: 'https://localhost:44326', // 本地IIS运行的API端口 changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ''), secure: false // 新增该行,关闭证书验证 } } }
注意:该配置仅适用于本地开发环境,生产环境必须使用受信任CA颁发的合法SSL证书,绝对不能关闭证书验证。
内容的提问来源于stack exchange,提问作者ryanyuyu
相关产品推荐
相关产品推荐

