You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue项目使用Axios请求自签SSL的Spring Boot服务遇证书错误

解决Vue.js请求自签名SSL证书的Spring Boot接口时的ERR_CERT_AUTHORITY_INVALID错误

核心原因说明

浏览器环境和Node.js环境的证书校验逻辑完全独立,你之前尝试用Node.js的https模块配置httpsAgent绕过验证的思路在前端不成立——浏览器的证书安全性校验由内核层面管控,JavaScript代码无法直接干预,https-browserify只是模拟Node的https模块API,根本绕不开浏览器的安全限制。

可行解决办法

一、前端侧快速解决(开发环境适用)

1. 手动信任自签名证书

直接在浏览器地址栏打开Spring Boot的HTTPS地址https://127.0.0.1:8000,当弹出证书不安全提示时:

  • 点击「高级」选项
  • 选择「继续前往127.0.0.1(不安全)」
    完成后浏览器会永久信任该自签名证书,后续Vue项目发起的请求就不会再报证书错误。

2. 配置Vue开发服务器代理

在vue.config.js中设置代理,让请求先经过本地代理服务器,由代理跳过证书校验:

module.exports = {
  devServer: {
    proxy: {
      // 匹配所有以/api开头的请求
      '/api': {
        target: 'https://127.0.0.1:8000',
        changeOrigin: true,
        secure: false, // 关键:关闭代理的证书校验
        pathRewrite: {
          '^/api': '' // 若后端接口无/api前缀,可通过此规则去掉
        }
      }
    }
  }
}

同时修改Axios实例的baseURL为/api,比如:

import axios from 'axios'
const instance = axios.create({
  baseURL: '/api'
})

这样前端请求会先转发到Vue开发服务器,再由代理转发到Spring Boot接口,绕过浏览器的证书校验。

二、后端侧根治方案(推荐)

1. 将自签名证书导入系统信任库

把Spring Boot使用的自签名证书安装到本地系统的根信任证书库,让浏览器自动识别为可信证书:

  • Windows:双击证书文件 → 选择「安装证书」→ 选择「本地计算机」→ 「将所有证书放入下列存储」→ 选择「受信任的根证书颁发机构」→ 完成安装
  • macOS:双击证书文件打开钥匙串访问 → 找到对应证书右键「显示简介」→ 「信任」选项卡 → 设置「使用此证书时:始终信任」

2. 开发环境临时切换为HTTP(可选)

如果开发阶段不需要强制HTTPS,可以修改Spring Boot的配置,临时改用HTTP协议,避免证书问题:
在application.properties中添加:

server.port=8000
server.ssl.enabled=false

后续Vue项目直接请求http://127.0.0.1:8000即可,无需处理证书问题。

内容的提问来源于stack exchange,提问作者Md. Saiful Islam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:50:08