Jenkins拒绝在代理后通过HTTPS更新插件,给出了403

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环境支持一个代理,该代理要求所有流量都通过HTTPS,并且在一个白名单域上。我们终于拿到了进入白名单的门票。当我们在Jenkins和test中设置代理配置时,这些URL会成功验证。我们可以查看更新信息,并获取更新通知

然而,当我们尝试更新插件时,在本例中是Active Directory插件,它拒绝使用https URL作为Jenkins更新链接。您可以看到Jenkins find internet connectivity和update center connectivity,但是失败了,并且出于某种原因决定使用非https镜像进行更新:

我们已尝试使用指定更新站点:


为什么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通信

工作原理:

  • 代理服务器在防火墙之外,您可以使用HTTPS对该代理服务器进行身份验证
  • 代理服务器仍将使用HTTP下载这些插件

  • 让我知道这是否有帮助

    你的问题比那更糟。最初的下载请求是针对updates.jenkins.io更新站点的,但实际的插件下载通常会重定向到其他域上托管的镜像/cdn类型位置。如果在hpi文件下载链接上执行curl命令,将看到一系列302重定向,直到到达实际文件

    有关此问题的解释,请参阅本文