Jenkins拒绝在代理后通过HTTPS更新插件,给出了403
我们的jenkins环境支持一个代理,该代理要求所有流量都通过HTTPS,并且在一个白名单域上。我们终于拿到了进入白名单的门票。当我们在Jenkins和test中设置代理配置时,这些URL会成功验证。我们可以查看更新信息,并获取更新通知 然而,当我们尝试更新插件时,在本例中是Active Directory插件,它拒绝使用https URL作为Jenkins更新链接。您可以看到Jenkins find internet connectivity和update center connectivity,但是失败了,并且出于某种原因决定使用非https镜像进行更新: 我们已尝试使用指定更新站点:Jenkins拒绝在代理后通过HTTPS更新插件,给出了403,jenkins,https,proxy,jenkins-plugins,Jenkins,Https,Proxy,Jenkins Plugins,我们的jenkins环境支持一个代理,该代理要求所有流量都通过HTTPS,并且在一个白名单域上。我们终于拿到了进入白名单的门票。当我们在Jenkins和test中设置代理配置时,这些URL会成功验证。我们可以查看更新信息,并获取更新通知 然而,当我们尝试更新插件时,在本例中是Active Directory插件,它拒绝使用https URL作为Jenkins更新链接。您可以看到Jenkins find internet connectivity和update center connectivit
为什么Jenkins不尝试使用我们指定的URL 根本原因在于插件下载url,而不是元数据链接(和)。尽管您需要与这些域进行HTTPS通信
"active-directory": {
"buildDate": "Jun 22, 2017",
"compatibleSinceVersion": "2.0",
"dependencies": [
{
"name": "mailer",
"optional": false,
"version": "1.5"
}
],
"developers": [
{
"developerId": "kohsuke",
"name": "Kohsuke Kawaguchi"
},
{
"developerId": "fbelzunc",
"name": "Felix Belzunce Arcos"
}
],
"excerpt": "Enables authentication through Active Directory",
"gav": "org.jenkins-ci.plugins:active-directory:2.6",
"labels": [
"user"
],
"name": "active-directory",
"previousTimestamp": "2017-06-20T10:22:20.00Z",
"previousVersion": "2.5",
"releaseTimestamp": "2017-06-22T12:54:26.00Z",
"requiredCore": "1.554.1",
"scm": "https://github.com/jenkinsci/active-directory-plugin",
"sha1": "yihOF0cMc3V3ScLklIcq+6zNXlA=",
"title": "Jenkins Active Directory plugin",
"url": "http://updates.jenkins-ci.org/download/plugins/active-directory/2.6/active-directory.hpi",
"version": "2.6",
"wiki": "https://plugins.jenkins.io/active-directory"
},
如您所见,下载链接是http://
"url": "http://updates.jenkins-ci.org/download/plugins/active-directory/2.6/active-directory.hpi",
因此,如果您进行连接性测试,就会出现错误(而在我的例子中,它是成功
)。
可能的解决方案是设置以避免直接HTTP通信
工作原理:
让我知道这是否有帮助 你的问题比那更糟。最初的下载请求是针对updates.jenkins.io更新站点的,但实际的插件下载通常会重定向到其他域上托管的镜像/cdn类型位置。如果在hpi文件下载链接上执行curl命令,将看到一系列302重定向,直到到达实际文件 有关此问题的解释,请参阅本文