繁体   English   中英

詹金斯:IOException:无法通过代理隧道。 代理返回“需要HTTP / 1.1 407代理身份验证”

[英]Jenkins: IOException: Unable to tunnel through proxy. Proxy returns “HTTP/1.1 407 Proxy Authentication Required”

首先,我想说这个问题不是重复的

我想在Jenkins中安装插件。 我去了更新中心,但由于有此错误,我无法安装任何东西:

IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 407 Proxy Authentication Required".

这是我的错误在更新中心中的样子。

另外,对于Java,我有64位的Java。

我尝试更改JRE文件夹,并为JRE 64位放置东西,因为Jenkins安装了32位,但是它不起作用。 我该如何解决这个问题?

TL; DR

java -Dhttp.proxyHost=THE_PROXY_HOST_NAME -Dhttp.proxyPort=PORT_NUMBER -Dhttp.proxyUser=USER_NAME -Dhttp.proxyPassword=MY_SUPER_SECRET_PASSWORD -Dhttp.auth.preference=basic -Djdk.http.auth.tunneling.disabledSchemes= -jar jenkins.war



希望您现在已经解决了,但是对于那些寻求答案的人(我自己在不久的将来)...

我做了很多事情,我不确定什么最终能奏效,但这就是我认为对我有用的,以及我实际上所做的。

我认为有效

詹金斯(Jenkins)从JENKINS-58567JENKINS-56498JENKINS-48775等代理设置中已知错误。因此,我认为这是可行的:

设置Java代理设置

根据您运行Jenkins的方式(即运行java -jar jenkins.war或作为守护程序systemctl start jenkins.service ),您将必须提供代理配置作为Java选项。

我跑这是一个守护进程,所以我说我的选择在/ etc / SYSCONFIG /詹金斯 (我不知道这个地方居住在Windows)JENKINS_JAVA_OPTIONS下,并添加以下Java选项:

-Dhttp.proxyHost=THE_PROXY_HOST_NAME -Dhttp.proxyPort=PORT_NUMBER -Dhttp.proxyUser=USER_NAME -Dhttp.proxyPassword=MY_SUPER_SECRET_PASSWORD -Dhttp.auth.preference=basic -Djdk.http.auth.tunneling.disabledSchemes=

我猜想我可以根据此发布的注释执行-Djdk.http.auth.tunneling.disabledSchemes=Basic而不是Dhttp.auth.preference=basic -Djdk.http.auth.tunneling.disabledSchemes= ,但是我是太懒了,不想测试这个问题(有一天我会回来完善这个答案)。

我实际上做了什么

除了上述步骤之外,我还做了一些奇怪的事情(我非常绝望,我已经4个月没有更新插件了)。

  • /etc/rc.d/init.d/jenkins中的启动脚本中添加了导出命令
    • export HTTP_PROXY=http://username:password@your-proxy-server:port
  • 在Jenkins>管理Jenkins>配置系统>全局属性>复选框环境变量上添加了全局变量>添加变量名HTTP_PROXY和值http://username:password@your-proxy-server:port

我不记得我最后要做什么,但是我不认为它们很重要(因为它们没有用)。

祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM