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

如何配置Axios忽略SSL证书错误?适配GET/POST请求

解决Axios请求中“unable to get local issuer certificate” SSL错误的正确配置方法

你之前的配置无效是因为Axios的httpsAgent需要接收Node.js https模块创建的Agent实例,而非直接传入普通配置对象。以下是正确的配置方式,适用于GET和POST请求:

步骤1:引入Node.js的https模块

在代码开头添加:

const https = require('https');
// 若使用ES模块则改为:import https from 'https';

步骤2:创建自定义HTTPS Agent

生成一个禁用证书校验的Agent实例:

const sslAgent = new https.Agent({
  rejectUnauthorized: false
});

步骤3:在Axios请求中使用该Agent

GET请求示例

const https = require('https');
const axios = require('axios');

async function fetchTestData(id) {
  const sslAgent = new https.Agent({
    rejectUnauthorized: false
  });

  const getConfig = {
    headers: {'PTToken': 'token'},
    params: {
      'filter-id': `${id}`
    },
    httpsAgent: sslAgent // 传入实例化后的Agent
  };

  try {
    const { data, status } = await axios.get('https://api.practitest.com/api/v2/projects/id/tests.json', getConfig);
    console.log('data', data, status);
  } catch (error) {
    console.log('error', error);
  }
}

POST请求示例

POST请求的配置逻辑完全一致,只需替换请求方法并传入请求体数据:

const https = require('https');
const axios = require('axios');

async function submitTestData(id, payload) {
  const sslAgent = new https.Agent({
    rejectUnauthorized: false
  });

  const postConfig = {
    headers: {'PTToken': 'token'},
    httpsAgent: sslAgent // 同样传入Agent实例
  };

  try {
    const { data, status } = await axios.post('https://api.practitest.com/api/v2/projects/id/tests.json', payload, postConfig);
    console.log('data', data, status);
  } catch (error) {
    console.log('error', error);
  }
}

重要提示

  • 仅建议在开发环境使用此配置跳过证书校验,生产环境必须配置合法的CA证书,否则会面临中间人攻击的安全风险。
  • 浏览器环境下的Axios无法通过此方式修改SSL校验逻辑,需确保服务器证书配置合规,或借助代理工具处理证书问题。

内容的提问来源于stack exchange,提问作者D.Hodges

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:27:27