You need to enable JavaScript to run this app. Axios携带基础认证与请求头发送GET请求报证书错误,Postman请求正常
优惠活动
大模型
产品
解决方案
定价
更多

Axios携带基础认证与请求头发送GET请求报证书错误,Postman请求正常

问题根因定位
  • 请求代码结构不符合axios的传参规范:axios.get仅接受两个参数,第一个为请求URL,第二个为完整的请求配置对象。你目前将认证配置单独拆为第三个参数传入,这部分配置完全不会被axios解析生效,实际发起请求时并未携带对应账号密码的认证头。
  • 证书拦截报错核心原因:你调用的接口域名使用的HTTPS证书未被浏览器的受信根CA列表认可(典型场景为自签名证书、内网私有CA签发证书),浏览器会在网络层直接拦截这类校验不通过的请求。而Postman默认开启了跳过SSL证书校验的开关,因此相同配置在Postman中可以正常返回结果,和接口本身的认证逻辑无关。
可落地方案
  1. 修正axios请求的代码结构,将所有配置合并到同一个config对象中,示例代码:

    axios.get('https://example.net/rest/executions/1266026155/execution-log', {
      withCredentials: true,
      headers: {
        "Accept": "application/json",
        "Content-Type": "application/json"
      },
      // 认证配置合并到同一config内
      auth: {
        username: "username12345",
        password: "12345678"
      }
    }).then(response => {
      if (response.status === 200) {
        console.log("All OK")
      }
    })
    
  2. 针对证书报错的分层处理:

    • 正式生产环境:给接口域名配置公共受信CA签发的正规HTTPS证书,从根源上消除浏览器的证书拦截,这是唯一面向终端用户的可上线方案。
    • 本地开发临时调试:如果是内网测试环境暂时无法更换证书,可以将接口对应的私有CA根证书导入到本地浏览器的受信任根证书列表中,导入完成后浏览器将不再抛出证书无效的拦截。

    注意:浏览器端的证书校验是网络层行为,axios本身的配置(如rejectUnauthorized: false)仅对Node.js运行环境的请求生效,完全无法绕过浏览器的内置证书拦截,不要尝试在浏览器端通过修改axios配置解决该报错。


内容的提问来源于stack exchange,提问作者Luis Ramirez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 19:15:05