Linux

無法訪問詹金斯(Centos 7)

  • May 18, 2020

我剛剛在 Centos 7 物理機上安裝了帶有預設配置的 Jenkins。

防火牆上的 8080 埠是開放的:

sudo iptables -L -n
[...]
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
[...]

看起來 Jenkins 實際上正在監聽所有介面:

sudo netstat -an | grep "LISTEN "
[...]
tcp6       0      0 :::8080                 :::*                    LISTEN
[...]

我可以curl localhost:8080在本地(從 Centos 盒子)沒有問題,但是從網路中的其他任何地方我得到一個Connection refused.

我錯過了什麼嗎?

上面看起來像 Jenkins 只預設使用 ipv6。

嘗試以下操作,這可能會解決您的問題:

跑: $ /sbin/sysctl net.ipv6.bindv6only

你可能會得到一個帶有 value 的輸出net.ipv6.bindv6only = 1

如果是這種情況,您將需要禁用該設置:

sudo /sbin/sysctl net.ipv6.bindv6only=0

執行上述命令後,您將得到類似的答案net.ipv6.bindv6only = 0,重啟 Jenkins:sudo systemctl restart jenkins並嘗試再次連接到 Jenkins。

如果這對你有用,你應該把它放在一個 sysctl 配置文件中。因為這不是一個持久的修復。重新啟動後,您剛剛修改的設置將再次預設為1

檢查/etc/sysctl.conf/etc/sysctl.d/*添加net.ipv6.bindv6only = 0以使此設置永久化並sudo sysctl -p在更改後執行或重新啟動。

引用自:https://serverfault.com/questions/871597