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

ArgoCD对接自签名证书Nexus时证书验证问题求助

自签名证书Nexus仓库「certificate signed by unknown authority」问题排查思路

问题背景

我部署了使用自签名证书的非安全Nexus镜像仓库,已完成以下操作:

  • 生成rootCA、证书及签名
  • 更新主机证书,执行sudo update-ca-certificates无新增/移除证书提示
  • 为Nexus代理的nginx配置证书,容器运行正常
  • Nexus可正常作为helm仓库和docker registry使用
  • 已将证书添加至ArgoCD
  • 已配置helm仓库
  • 已完成应用部署

但始终遇到「certificate signed by unknown authority」错误。后续尝试了将pem转crt格式、重新配置ca-certificates、按Docker文档配置证书实现docker login成功,在ArgoCD命名空间创建镜像拉取密钥并配置到helm部署文件等操作,问题仍未解决,求相关解决思路。

排查与解决方向

1. 验证ArgoCD组件的证书加载情况

  • 检查ArgoCD核心组件(argocd-server、argocd-repo-server、argocd-application-controller)的证书挂载配置:确认configs.mounts是否将CA证书挂载到容器内的系统信任目录(如/etc/ssl/certs或/usr/local/share/ca-certificates)
  • 进入组件容器执行update-ca-certificates或update-ca-trust(依镜像系统而定),确认证书被添加到信任链
  • 在容器内用curl -v https://your-nexus-url测试访问,验证证书是否被信任

2. 集群节点与容器运行时的证书配置

  • 确认所有集群节点都安装了自签名CA证书:将CA证书放入/usr/local/share/ca-certificates并执行update-ca-certificates
  • 若使用containerd,需将CA证书放入/etc/containerd/certs.d/your-nexus-url/目录,重启containerd服务后测试镜像拉取
  • 检查镜像拉取密钥的dockerconfigjson字段,确认仓库地址匹配且证书已正确嵌入

3. Helm仓库的证书关联验证

  • 检查ArgoCD中Helm仓库的配置:确认未开启--insecure-skip-tls-verify,且正确关联了CA证书
  • 进入argocd-repo-server容器,手动执行helm repo add并指定CA证书,测试是否能正常拉取chart,排查配置传递问题

4. 证书链完整性检查

  • 用openssl x509 -in your-cert.crt -text -noout查看证书信息,确认Issuer与rootCA一致,域名(SAN)、有效期符合要求
  • 确保服务器证书包含完整的签名链,避免仅提供服务器证书而缺失CA证书

5. 命名空间级证书配置

  • 针对应用所在命名空间,创建ConfigMap挂载CA证书到Pod的信任目录,或通过initContainer自动将证书导入系统信任链

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 15:37:42