【发布时间】:2019-08-13 15:59:07
【问题描述】:
在 Windows 托管代理上运行 SonarQube 任务时,我立即收到此错误。
[错误][SQ] API GET '/api/server/version' 失败,错误为:{"code":"UNABLE_TO_VERIFY_LEAF_SIGNATURE"}
该错误显然与Let's Encrypt signing explanation 中讨论的内容有关。
使用该页面上的信息作为指导并尝试解决问题,我在 DevOps 作业中创建了一个前置任务,以将链中的所有证书添加到 DevOps 代理框中的 Java 密钥库我们对发行人的通配符(包括交叉签名人)。我能够做到这一点,但我仍然从后续的声纳任务中得到错误。
当我从代理对 /api/server/version 端点调用 curl 时,我收到错误“curl:(60) SSL 证书问题:无法获取本地颁发者证书”。
据我了解,Sonar 任务将依赖 Java 密钥库,但 curl 不依赖。这使得这两个应用程序似乎都可以工作,我需要在 2 个地方添加这些受信任的证书,但我什至一个都没有找到。谁能指导我解决此问题的说明?
戴夫
更新:意识到“问题”证书可能会有所帮助。你可以在这里得到它link
【问题讨论】:
-
您需要将所有密钥注册到密钥库。看看here
-
谢谢杰罗恩。我正在这样做,但它并没有解决问题。尽管我确实找到了解决方案,但我很高兴地报告,如果有人像我一样做同样愚蠢的事情,这里是总结。真正的问题是我用于基于 apache 的站点的 server.crt 只有通配符证书。它还需要有到 Let's Encrypt 发行者的链。添加后,我的问题就解决了。
标签: java ssl sonarqube azure-devops lets-encrypt