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

如何在node.js中禁用客户端SSL验证?

Node.js 开发环境禁用SSL验证配置方法

重要提示:禁用SSL证书验证会导致通信失去加密安全保障,仅允许在本地开发、测试环境使用,严禁在生产环境开启该配置,否则会存在严重的中间人攻击风险。

1. 全局生效(环境变量配置)

启动Node进程前设置对应环境变量即可全局生效:

  • Linux/macOS 终端执行:NODE_TLS_REJECT_UNAUTHORIZED=0 node your-script.js
  • Windows cmd 执行:set NODE_TLS_REJECT_UNAUTHORIZED=0 && node your-script.js
  • Windows PowerShell 执行:$env:NODE_TLS_REJECT_UNAUTHORIZED=0; node your-script.js

如果需要在代码内部配置全局生效,可在脚本开头添加代码:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
注:全局配置影响范围大,更推荐使用局部请求配置的方案

2. 内置https模块局部配置

仅针对单个https请求禁用验证,不影响其他请求:

const https = require('https');

https.get('https://你的自签名证书域名/api', {
  rejectUnauthorized: false // 仅当前请求禁用SSL验证
}, (res) => {
  // 自定义响应处理逻辑
})

3. 常用第三方请求库配置

3.1 Axios

  • 单次请求配置:
const https = require('https');
const axios = require('axios');

axios.get('https://你的域名/api', {
  httpsAgent: new https.Agent({  
    rejectUnauthorized: false
  })
})
  • 自定义实例全局配置:
const customAxios = axios.create({
  httpsAgent: new https.Agent({  
    rejectUnauthorized: false
  })
})
// 后续所有使用customAxios发起的请求都会禁用SSL验证

3.2 node-fetch

const fetch = require('node-fetch');
const https = require('https');

fetch('https://你的域名/api', {
  agent: new https.Agent({
    rejectUnauthorized: false
  })
})

4. 包管理器禁用SSL验证(安装依赖场景)

如果是安装依赖时遇到SSL证书校验报错,可使用对应命令配置:

  • npm:npm config set strict-ssl false
  • yarn:yarn config set strict-ssl false
  • pnpm:pnpm config set strict-ssl false

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:39:03