2012-07-27 55 views
3

我使用詹金斯1.447.2 version.My主是Linux和從到主是windows顯示異常而連接從使用無頭JNLP

Jul 27, 2012 12:44:17 PM hudson.remoting.jnlp.Main$CuiListener <init> 
    INFO: Hudson agent is running in headless mode. 
    Jul 27, 2012 12:44:17 PM hudson.remoting.jnlp.Main$CuiListener status 
    INFO: Locating server among [http://10.10.1.162:8080/jenkins/, http://dem 
    Jul 27, 2012 12:44:38 PM hudson.remoting.jnlp.Main$CuiListener status 
    INFO: Connecting to demo.sigmainfo.in:8050 
    Jul 27, 2012 12:44:38 PM hudson.remoting.jnlp.Main$CuiListener status 
    INFO: Handshaking 
    Jul 27, 2012 12:44:58 PM hudson.remoting.jnlp.Main$CuiListener error 
    SEVERE: The server rejected the connection: 
    java.lang.Exception: The server rejected the connection: 
    at hudson.remoting.Engine.onConnectionRejected(Engine.java:258) 
    at hudson.remoting.Engine.run(Engine.java:233) 

我收到上述錯誤而特林從站連接到的主詹金斯..我得到這個錯誤,因爲我把主人作爲靜態。(IP)。

如何解決此問題?

回答

8

JNLP從站連接問題通常是由於Jenkins全局配置中的「Jenkins URL」設置不正確。請驗證它。

如果設置是正確的,我認爲你需要認真考慮阻止你的Windows從站和Linux主站之間的連接的可能性。是否可以在一臺或兩臺主機上安裝防火牆?

如果有防火牆,您可能需要首先爲JNLP連接設置固定端口,然後在Linux主服務器上配置防火牆以接受到該端口的入站連接,並將Windows防火牆配置爲接受到該端口的出站連接。

我可以向你展示的第一部分:轉到Jenkins主,管理Jenkins,系統配置。選中「激活安全性」框。

將出現一個新的部分。選中「用於JNLP從屬代理的TCP端口」複選框並設置所需的任意空閒端口號。請注意,非根進程無法使用1024以下的端口,因此您應該選擇高於此的端口。端口號是16位無符號整數,因此最大值是65535.

關於防火牆配置的第二部分我不能幫你。如何允許訪問JNLP端口完全取決於主站和從站上的防火牆軟件。有關詳細信息,請參閱這些手冊。

如果它仍然不起作用,我建議您使用tcpdump host demo.sigmainfo.in來查看從站是否真的將數據包發送到正確的主機的正確接口。

+0

我檢查與網址,給定固定端口號..still獲取錯誤..我管理員的人告訴系統上沒有防火牆激活..在檢查tcpdump,每次(5秒間隔)長度變零..我主人是Linux和奴隸是Windows ..我可以檢查8050的主人是否接受數據包併發回..還有什麼我可以爲它做? – varghese 2012-07-30 06:49:39

+1

最好的網絡嗅探器是tcpdump(因爲它安裝在任何地方)和WireShark(因爲它有一個很好的GUI)。使用這些來查看從站正嘗試連接的主站上的哪些端口。然後在主控主機上使用lsof來查看Jenkins是否真的在監聽這些端口。 – sti 2012-07-30 21:31:50

+0

我已使用wireshark ip.addr = slaveip和tcp.port = 8050(端口在主服務器上打開)在master(linux)中進行檢查。沒有端口,它顯示瀏覽器協議connection.it沒有顯示任何內容。在使用netstat -an |發現/我「聽」..它的顯示連接與該端口號建立..我認爲只有通過瀏覽器連接建立.. – varghese 2012-08-01 07:24:34

0

有了windows master和mac jenkins奴隸,我得到了;

java.lang.exception: the serverrejected the connection: None of the protocols were accepted 

因爲我已經改變了我們機器的憑證並沒有通知詹金斯。由於這個錯誤似乎離問題很遠,我以爲我會爲我未來的自我發佈信息。

+0

你能更具體嗎?什麼憑證或什麼樣的憑證發生了變化? – 2016-10-23 00:39:26

+1

好問題,因爲它不夠清楚!如果內存服務,它是jenkins mac slave的登錄密碼。 – AnneTheAgile 2016-10-28 22:45:31

1

有一次,我有這個錯誤,因爲我已經有一個連接了,所以檢查你的連接。

+4

我認爲這應該是一個評論,而不是一個答案。 – 2016-02-22 19:53:23