首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins代理407错误

Jenkins代理407错误
EN

Stack Overflow用户
提问于 2015-04-16 18:13:29
回答 11查看 20.3K关注 0票数 11

我在一个公司网络中运行Jenkins CI,该网络使用代理进行互联网访问。

我试图在Plugins->Advanced中配置代理详细信息,但是即使凭证是正确的(是的,我检查了很多次),它也无法验证"Test“,即使在http://google.com上并返回

未能连接到http://google.com (代码407)。

奇怪的是,Jenkins仍然能够下载插件本身(哇!),但是完全无法连接到任何HTTP资源。从控制台输出的消息是:

[0mApr 16,2015 1:58:56 PM org.apache.commons.httpclient.HttpMethodDirector pro cessProxyAuthChallenge INFO:失败身份验证与NTLM @proxyrye.asg.com:80 / 16,2015 2:09:09 PM执行WithRetry INFO: I/O异常(java.net.ConnectException)在处理请求时捕获:连接超时: Connection Apr 16,2015 2:09:09 PM org.apache.commons.httpclient.HttpMethodDirector exception INFO:重试请求4月16日,2015年2:09:10下午2:09:10 org.apache.commons.httpclient.auth.AuthChallengeProcesso r selectAuthScheme信息: ntlm认证方案选择←[31 31mApr 16,2015 2:09:10下午2:09:10 org.apache.commons.httpclient.HttpMethodDirector au严峻:凭据不能用于NTLM身份验证: org.apache.commons.h ttpclient.UsernamePasswordCredentials凭据不能用于NTLM身份验证: org.apache.commons.httpclient.UsernamePasswo rdCredentials at org.apache.commons.httpclient.auth.NTLMScheme.authenticate(NTLMScheme .java:332)

EN

回答 11

Stack Overflow用户

发布于 2016-03-02 06:19:37

我们和詹金斯在我们公司的代理人背后有很长一段时间了。前几天,他们改变了我们代理所希望的认证方案的顺序。就在这一天,我们的詹金斯停止上网。

显然是Jenkins无法通过需要NTML身份验证的代理进行连接。。这就是导致我对Jenkins进行改进以扩展代理配置屏幕的原因。在扩展的工作中,我发现Jenkins没有使用所有与代理相关的系统属性,因此它不能使用NTLM。

因此,只允许NTLM身份验证的代理的答案是:它不能通过Jenkins UI工作。

但是--如果您的代理允许其他身份验证方案,您可以遵循我们的解决方法,这很简单:将java属性-Dhttp.auth.preference="basic"添加到Jenkins启动脚本或容器中。

这将迫使底层库和Java机制Jenkins使用基本身份验证(而不是NTLM )连接到代理。

票数 8
EN

Stack Overflow用户

发布于 2019-04-09 13:11:40

对于Java和更高版本,JDK8已经禁用了用于基本身份验证的basic auth隧道。如果您想再次使用基本模式(安全性将受到损害),请执行Jenkins将此参数添加到您的JAVA_OPTS变量中。

代码语言:javascript
复制
    "-Djdk.http.auth.tunneling.disabledSchemes="

默认值是

代码语言:javascript
复制
    "-Djdk.http.auth.tunneling.disabledSchemes=Basic", 

由于在默认情况下禁用了基本方案,即使您的凭据正常,它也会返回HTTP 407错误。

更多链接https://issues.jenkins-ci.org/browse/JENKINS-48775感谢以色列罗梅罗斐济

票数 2
EN

Stack Overflow用户

发布于 2017-09-22 07:52:50

下面的解决方案对我来说适用于Windows 7机器中的407问题。

    1. 停止Windows Services中的Jenkins

    1. Goto Services.msc > Jenkins >右键单击> Properties >登录>此帐户并键入用户名和密码

    1. 单击Apply和Ok

    1. 开始詹金斯
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29682844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档