Newman CLI执行报错:Unable to Get Local Issuer Certificate 求助
使用Newman CLI加载Postman集合时遇到本地证书错误
错误信息
error: collection could not be loaded unable to fetch data from url "https://api.postman.com/collections/<collection URL>" unable to get local issuer certificate
环境与验证情况
- 操作设备:安装Zscaler的企业电脑
- 集合目标:对接公开可用的Trello API
- 正常运行场景:
- Postman中直接访问
https://api.postman.com/collections/<collection URL>?apikey=<API key>无问题 - CMD中执行curl命令
https://api.postman.com/collections/<collection URL>?apikey=<API key>可正常返回结果
- Postman中直接访问
执行的命令
运行集合的命令:newman run https://api.postman.com/collections/<collection URL>?apikey=<API key>
已尝试的无效解决方法
- 添加
--insecure参数 - 使用
--ssl-extra-ca-certs <本地SSL证书路径>参数 - 使用
--ssl-client-cert <本地SSL证书路径>参数 - 设置环境变量
SET NODE_EXTRA_CA_CERTS=<本地SSL证书路径>,并在上述证书参数中替换为该变量(带/不带引号) - 执行
npm config set strict-ssl false
以上操作后均返回相同错误。
可行解决思路及方案
由于Zscaler代理的证书逻辑和Postman、curl存在差异,Newman基于Node.js的证书验证规则需要针对性配置:
导出Zscaler根证书
打开浏览器访问任意HTTPS网站,点击地址栏锁图标 → 证书 → 证书路径 → 选择顶层Zscaler根证书 → 详细信息 → 复制到文件 → 保存为Base64编码的CER格式文件。正确配置NODE_EXTRA_CA_CERTS环境变量
确保环境变量生效后再执行Newman,避免临时设置失效:
- CMD环境:
SET NODE_EXTRA_CA_CERTS="C:\绝对路径\zscaler-root.cer" newman run https://api.postman.com/collections/<collection URL>?apikey=<API key> - PowerShell环境:
注意路径含空格时必须加引号,且使用绝对路径。$env:NODE_EXTRA_CA_CERTS = "C:\绝对路径\zscaler-root.cer" newman run https://api.postman.com/collections/<collection URL>?apikey=<API key>
- 离线导入集合绕开拉取验证
如果上述方法仍无效,先在Postman中导出集合为JSON文件,直接运行本地文件:
newman run "C:\路径\your-collection.json"
此方法跳过从Postman API拉取集合的SSL验证,若后续Trello请求仍有证书问题,同样用NODE_EXTRA_CA_CERTS配置即可。
内容的提问来源于stack exchange,提问作者DangerUnicorn
相关产品推荐
相关产品推荐

