Linux
無法訪問詹金斯(Centos 7)
我剛剛在 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
在更改後執行或重新啟動。