在我們進行流媒體伺服器EasyNVR搭建的時候,不同現場對自身的網絡條件要求和伺服器環境的要求都不同,有時會出現現場的軟體成功部署,程式啟動正常,端口正常監聽,但是通過外部IP無法正常通路的問題。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICMyYTMvw1dvwlMvwlM3VWaWV2Zh1Wa-cmbw5SOnZHdxcGNvh3YvwlM3MjMzkjMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
問題分析
像這樣的問題我們以前分析過不少。程式正常啟動,問題大機率出現在網絡或者是伺服器防火牆這邊。我們先是通過ping ip發現網絡是通的,然後通過排查伺服器現場發現伺服器防火牆在運作:
在部分情況下,由于需要保護現場的資料安全,項目團隊是不允許直接關閉防火牆的,是以隻能通過對防火牆上做出端口穿透來解決此問題。
解決方案
首先我們找出軟體需要的對應端口,EasyNVR需要對外開放的端口有10800 ,10935。然後開放伺服器上防火牆的對應端口。
開放方法:
執行指令:
開放10935端口tcp:
firewall-cmd --zone=public --add-port=10935/tcp --permanent
開放10800端口tcp:
firewall-cmd --zone=public --add-port=10800/tcp --permanent
成功開放會有對應提示:
最後重載防火牆就可以了:
firewall-cmd reload
設定之後網頁就能夠成功通路了。