Mac OS下如何查找CA文件配置位置?curl CAfile配置排查
解决curl CAfile配置位置找不到的问题
问题场景
运行curl或依赖curl的命令(如PHP的composer)时,因公司注入自有证书,触发自签名证书错误。
示例执行命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
返回错误:
fatal: unable to access 'https://github.com/Homebrew/brew/': error setting certificate verify locations: CAfile: /Users/kdoyle/Downloads/SEI-PKI-2.crt CApath: none
已检查~/.curlrc,该文件不存在,无法定位CAfile配置的设置位置。
排查路径
环境变量检查:查看是否设置了
CURL_CA_BUNDLE环境变量,它会覆盖curl默认CA证书路径。终端执行:echo $CURL_CA_BUNDLE若输出
/Users/kdoyle/Downloads/SEI-PKI-2.crt,则说明是该环境变量在生效。系统级curl配置文件:检查以下系统级配置文件中是否存在
cacert = /Users/kdoyle/Downloads/SEI-PKI-2.crt这类配置:/etc/curlrc/usr/local/etc/curlrc
Git独立配置:错误提示来自git,需检查git是否单独配置了CA证书。终端执行:
git config --global --get http.sslCAinfo若输出目标证书路径,则是git配置导致。
公司安全工具注入:部分公司会通过VPN、终端安全工具等自动注入证书配置,这类配置不会写入常规文件,需检查公司安全工具的证书相关设置。
临时应急方案
仅在信任目标地址时使用,可临时绕过证书验证:
- curl命令添加
--insecure参数:curl -fsSL --insecure https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh - 临时关闭git证书验证:
git config --global http.sslVerify false
内容的提问来源于stack exchange,提问作者Keith
相关产品推荐
相关产品推荐

