Azure devops - 通用下载 SSL 错误
Azure devops - Universal download SSL error
我使用 azure 通用上传任务将一个 zip 文件上传到 azure artifacts。
我有两个 windows azure 本地代理。我对两者都有完全访问权限。当我使用其中一个代理作为我的发布代理来使用通用上传 azure 任务下载工件时,从工件包提要下载工作正常但在另一个中,我收到错误消息,因为无法获取工件工具。证书链中的自签名证书。
因为我在两个框中都有完全访问权限,我可以做些什么来比较这些框或解决这个问题吗?
1.You可以检查两个自托管代理的版本是否相同。您可以尝试将失败的代理更新到最新版本。
2.Trying 执行此 ticket 中提到的步骤并检查是否可以解决问题。
- 下载代理的新副本
- 将您的 CA 证书链放在代理文件夹的根目录下,证书
最好是 .pem
- 使用
config.cmd --sslcacert ./locationtoyourcert.pem
配置代理
详情请参考这篇blog。
@High Lin,我已将你的回答标记为已接受。但我还会添加一些其他步骤来修复此答案,
背景:
使用任何其他 on-prem 框而不是工作时有两个问题。
- 尝试下载 Azure Key Vault 用户时出现错误
“self-signed 证书链中的证书”
- 当我们尝试从 Azure 工件源下载通用包时
用户看到了同样的错误。
已执行分析。
验证证书和证书链之间的工作
机器和那个不工作。
验证机器之间的 azure 代理版本。
3. Verified access on the agents.
4. Verified server properties.
-
Verified environmental variables.
修复:
问题 1:尝试下载 Azure Key Vault 用户时出现错误“self-signed 证书链中的证书”
在意识到 azure key vault 下载是一项 node-based 任务后,发现 CA 证书身份验证在涉及 HTTPS 连接时失败,因为问题是 node.exe 不遵循 windows 证书存储。
所以你可以尝试在 运行 你的 Node.js-based 脚本之前设置一个特定的环境变量:
setx NODE_EXTRA_CA_CERTS "/path/to/your/cert.pem"
请注意 cert.pem 文件可以在 Git.
下的外部文件夹中找到
设置此环境变量后,https 库便可以使用 CA 证书进行身份验证并解析 SSL hand-shake 进程。
注意:可能需要重新启动 windows 服务(Azure 代理)。
问题 2:当我们尝试从 Azure 工件源用户下载通用包时,看到了同样的错误。
下载代理的新副本。
使用 config.cmd --sslcacert ./locationtoyourcert.pem
配置代理
学分:
http://lpains.net/articles/2020/azure-devops-agent-behind-proxy/
我使用 azure 通用上传任务将一个 zip 文件上传到 azure artifacts。
我有两个 windows azure 本地代理。我对两者都有完全访问权限。当我使用其中一个代理作为我的发布代理来使用通用上传 azure 任务下载工件时,从工件包提要下载工作正常但在另一个中,我收到错误消息,因为无法获取工件工具。证书链中的自签名证书。
因为我在两个框中都有完全访问权限,我可以做些什么来比较这些框或解决这个问题吗?
1.You可以检查两个自托管代理的版本是否相同。您可以尝试将失败的代理更新到最新版本。
2.Trying 执行此 ticket 中提到的步骤并检查是否可以解决问题。
- 下载代理的新副本
- 将您的 CA 证书链放在代理文件夹的根目录下,证书 最好是 .pem
- 使用
config.cmd --sslcacert ./locationtoyourcert.pem
配置代理
详情请参考这篇blog。
@High Lin,我已将你的回答标记为已接受。但我还会添加一些其他步骤来修复此答案,
背景: 使用任何其他 on-prem 框而不是工作时有两个问题。
- 尝试下载 Azure Key Vault 用户时出现错误 “self-signed 证书链中的证书”
- 当我们尝试从 Azure 工件源下载通用包时 用户看到了同样的错误。
已执行分析。
验证证书和证书链之间的工作 机器和那个不工作。
验证机器之间的 azure 代理版本。
3. Verified access on the agents.
4. Verified server properties.
-
Verified environmental variables.
修复:
问题 1:尝试下载 Azure Key Vault 用户时出现错误“self-signed 证书链中的证书” 在意识到 azure key vault 下载是一项 node-based 任务后,发现 CA 证书身份验证在涉及 HTTPS 连接时失败,因为问题是 node.exe 不遵循 windows 证书存储。
所以你可以尝试在 运行 你的 Node.js-based 脚本之前设置一个特定的环境变量:
setx NODE_EXTRA_CA_CERTS "/path/to/your/cert.pem" 请注意 cert.pem 文件可以在 Git.
下的外部文件夹中找到设置此环境变量后,https 库便可以使用 CA 证书进行身份验证并解析 SSL hand-shake 进程。
注意:可能需要重新启动 windows 服务(Azure 代理)。
问题 2:当我们尝试从 Azure 工件源用户下载通用包时,看到了同样的错误。 下载代理的新副本。
使用 config.cmd --sslcacert ./locationtoyourcert.pem
配置代理学分: http://lpains.net/articles/2020/azure-devops-agent-behind-proxy/