服务器拒绝连接:没有接受任何协议

时间:2016-02-10 07:35:22

标签: java git jenkins master-slave

当我在客户端虚拟机中启动Jenkins作为Windows服务时,我遇到了一个奇怪的问题。

1)我已在我的客户端主机(Windows VM)中启动Jenkins作为Windows服务 并将我的本地计算机配置为从站,并且我无法在主站和从站之间建立连接。我收到以下错误:

  

" java.lang.Exception:服务器拒绝了连接:没有接受任何协议"

主设备和从设备都在同一网络中(客户端网络,使用VPN连接的从设备)。

客户主机的域名ABC
本地机器域名xyz

console output

2)我已将Jenkins停止为Windows服务,并使用

通过命令提示符再次启动
"java -jar jenkins.war"

现在我能够在没有任何问题的情况下在主设备和从设备之间建立连接。

3)现在我已经在我的本地计算机上作为主服务器启动了Jenkins作为Windows服务,并且在本地计算机之一作为从服务器之一,并成功建立了主人和奴隶。

使用 point(1)不在主设备和从设备之间建立连接的原因究竟是什么?

9 个答案:

答案 0 :(得分:3)

问题来自JENKINS方面。 这个Bug已经在JENKINS论坛&状态仍然严重& 未解决

https://issues.jenkins-ci.org/browse/JENKINS-29616

按照说明:

  

计划批次尝试使用。启动从属代理   以下脚本:

taskkill /f /im "EXCEL.exe"
taskkill /f /im "ipy.exe"
taskkill /f /im "jp2launcher.exe"

javaws http://172.16.8.57:8080/computer/SSW73210/slave-agent.jnlp
     

当奴隶代理人打开时,除了随附代理外,它没有做任何事情   错误。重新启动后,此问题无法重现,但似乎这样   当奴隶留在一夜之间时,这种情况会更加普遍。

答案 1 :(得分:2)

我有一个类似的问题,这是我为解决我的问题所做的:

从Jenkins 1.x升级到2.x后,我从未清除从属的远程根目录(在我的例子中是c:\ jenkins)。每次我安装奴隶作为服务我会得到完全相同的错误。我终于在无数头发后想出了我的问题: 一旦我从该目录中删除了内容,并将jenkins slave作为Windows服务安装,就重新填充了内容,并且奴隶按预期连接。

希望这有帮助

答案 2 :(得分:2)

就我而言,这与禁用协议有关。

下一步:如果您的Jenkins支持JNLPv4,请在使用前启用它。

Jenkins->全局安全配置->代理->代理协议 ->入站TCP代理协议/ 4(TLS加密)

enter image description here

答案 3 :(得分:0)

我通过安装Java的早期版本来修复它。我使用了1.8.0_131 JDK。

答案 4 :(得分:0)

我也遇到了这个问题,并且能够解决它,也许吗?碰巧同一代理在另一台VM上运行。我关闭了它,重新连接成功,并且再也没有错误消息。

答案 5 :(得分:0)

我遇到了同样的问题,并添加到上述答案中,我在Jenkins master中禁用了防火墙,一切正常。另外,对于生产环境,绝对不建议这样做。新手不知道如何配置防火墙,这是在家庭实验室完成的,所以我发现它很有用。

答案 6 :(得分:0)

我遇到了类似的问题

必须从cmd运行 slave-agent.jar (以 Administrator 身份运行)

> javaws "location of slave-agent.jar"  

答案 7 :(得分:0)

我看着这个问题 https://issues.jenkins-ci.org/browse/JENKINS-29616 在LuFFy的答案中提到,并与junior1024的答案一起找到了对我有帮助的模式。具体来说,代理可执行文件的命名:代理可执行文件的名称必须唯一

我正在Server 2019上运行,并使用WinSW将代理作为Windows服务器运行。我下载了WinSW并按如下方式组织了我的代理商:

/Agent1
-> agent.jar
-> agent.exe
-> agent.xml
/Agent2
-> agent.jar
-> agent.exe
-> agent.xml

成功地分别安装和测试了每个代理后,我尝试同时运行两个代理并遇到问题。具体来说,启动 second 的任何一个代理都会失败,并显示本文和Jenkins Bug中所述的症状(无法连接,重新启动等)。

但是,如果我使用cli java -jar agent.jar运行了第二个代理,那么它就起作用了。

最终,我尝试了以下方法,并且有效:

/Agent1
-> agent.jar
-> agent1.exe
-> agent1.xml
/Agent2
-> agent.jar
-> agent2.exe
-> agent2.xml

答案 8 :(得分:0)

很奇怪我遇到了同样的问题,因为之前一切都很顺利。在主机编辑hosts文件后,在从机运行命令错误消失。所以是网络名称解析问题。