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

Zscaler代理环境下Nix执行命令遭遇SSL连接错误求助

Zscaler代理环境下Nix SSL连接错误的解决方法

问题重现

执行命令:

nix-shell -p nix-info --run --show-trace --verbose "nix-info"

出现错误:

warning: error: unable to download 'https://cache.nixos.org/': SSL connect error (35) OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme; retrying in 273 ms

已尝试配置NIX_SSL_CERT_FILE环境变量、合并企业根CA与系统cert.pem,但问题未解决。

针对性解决步骤

1. 确保Zscaler证书导出格式正确

  • 从浏览器导出Zscaler根CA证书时,选择**Base64编码的X.509 (.CER)**格式,保存为zscaler-root-ca.pem
  • 避免使用DER格式,否则Nix无法正常识别证书内容

2. 配置Nix的SSL证书路径

修改Nix配置文件(全局用/etc/nix/nix.conf,用户级用~/.config/nix/nix.conf),添加:

ssl-cert-file = /path/to/your/zscaler-root-ca.pem

将/path/to/your/zscaler-root-ca.pem替换为实际的证书文件路径

3. 同步环境变量与Nix配置

  • 确保NIX_SSL_CERT_FILE环境变量指向同一证书:
export NIX_SSL_CERT_FILE=/path/to/your/zscaler-root-ca.pem
  • 执行以下命令验证配置是否生效:
nix show-config | grep ssl-cert-file

4. 修复OpenSSL证书存储scheme问题

错误提示的unregistered scheme可能是证书存储格式不兼容导致,尝试:

  • 将Zscaler证书合并到系统默认证书库(以Linux为例):
cat /path/to/zscaler-root-ca.pem >> /etc/ssl/certs/ca-certificates.crt
  • 更新系统证书缓存:
update-ca-certificates

5. 强制Nix使用系统SSL库

若以上步骤无效,让Nix调用系统OpenSSL而非自带版本:
在nix.conf中添加:

ssl-cert-file = /etc/ssl/certs/ca-certificates.crt

保存后重新执行目标命令测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:45:56