【问题标题】:Azure devops - Universal download SSL errorAzure devops - 通用下载 SSL 错误
【发布时间】:2020-07-10 17:57:11
【问题描述】:

我有一个使用 azure 通用上传任务上传到 azure artifacts 的 zip 文件。

我有两个 Windows azure 本地代理。我对两者都有完全访问权限。当我使用其中一个代理作为我的发布代理来使用通用上传天蓝色任务下载工件时,从工件包提要的下载工作正常,但在另一个中,我收到错误,因为无法获取工件工具。证书链中的自签名证书。

由于我在两个框中都具有完全访问权限,我可以做些什么来比较这些框或解决这个问题吗?

【问题讨论】:

  • 你能在这里分享错误日志吗?运行管道时,可以设置变量system.debug = true 获取详细日志。
  • 无法获取最新信息,该解决方法对您有帮助吗?或者,如果您有任何疑虑,请随时在此处分享。

标签: azure azure-devops continuous-deployment


【解决方案1】:

1.您可以检查两个自托管代理的版本是否相同。您可以尝试将失败的代理更新到最新版本。

2.尝试ticket 中提到的步骤并检查是否可以解决问题。

  • 下载代理的新副本
  • 将您的 CA 证书链放在代理文件夹的根目录下,即证书 最好是 .pem
  • config.cmd --sslcacert ./locationtoyourcert.pem配置代理

详情请参考此blog

【讨论】:

    【解决方案2】:

    @High Lin,我已将您的答案标记为已接受。但我还会添加一些其他步骤来解决这个问题,

    背景: 使用任何其他本地盒时存在两个问题,而不是一个工作盒。

    1. 在尝试下载 azure key vault 时,用户遇到错误 “证书链中的自签名证书”
    2. 当我们尝试从 Azure 工件源下载通用包时 用户看到同样的错误。

    已执行分析。

    1. 经过验证的证书和工作之间的证书链 机器和一个不工作的。

    2. 验证机器之间的azure代理版本。

    3. Verified access on the agents.
    
    4. Verified server properties.
    
    1. Verified environmental variables.
      

    修复:

    问题 1:尝试下载 azure key vault 时,用户收到错误“证书链中的自签名证书” 在意识到 azure key vault 下载是基于节点的任务后,发现 HTTPS 连接时的 CA 证书身份验证失败,因为问题是 node.exe 不遵循 windows 证书存储。

    因此,您可以在运行基于 Node.js 的脚本之前尝试设置特定的环境变量:

    setx NODE_EXTRA_CA_CERTS "/path/to/your/cert.pem" 请注意,可以在 Git 下的外部文件夹中找到 cert.pem 文件。

    设置此环境变量后,https 库就可以使用 CA 证书进行身份验证并解析 SSL 握手过程。

    注意:可能需要重新启动 Windows 服务(Azure 代理)。

    问题 2:当我们尝试从 Azure 工件源下载通用包时,用户会看到同样的错误。 下载代理的新副本。

    使用 config.cmd --sslcacert ./locationtoyourcert.pem 配置代理

    学分: http://lpains.net/articles/2020/azure-devops-agent-behind-proxy/

    https://medium.com/@jonatascastro12/understanding-self-signed-certificate-in-chain-issues-on-node-js-npm-git-and-other-applications-ad88547e7028

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 2021-02-05
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      相关资源
      最近更新 更多