排查服務不可用是否防火牆配置問題的小竅門

排查服務不可用是否防火牆配置問題的小竅門

今天用workerman實現一個WebSocket長鏈接時,在開發環境沒問題,但在生產環境(做了反向代理)就一直連接不上,在解決這個問題時有些心得,跟大家分享一下。

在不同服務器間做數據轉發(如在nginx等web服務器中做反向代理等場景)時,通常會依據端口轉發,有時候配置好的轉發規則硬是不生效,例如出現504錯誤,讓人非常頭疼。

其實這種情況很大可能是因爲防火牆的設置引起的,因爲用來做轉發的端口往往是一些不常用的端口,而這些端口默認情況下是不開放訪問的。那怎麼排查這些端口是否開放訪問呢?一個當然是查看防火牆的配置了,另外在這裏想給大家介紹一個簡單直接的辦法,就是先用本機的IP+端口訪問一下,在這裏需要注意的是:通常服務器羣都會做跳板機處理,這樣一來會更加安全,二來也可以節省購買公網IP的費用,不過這樣就會導致只有一個公網IP,其它的服務器都是通過端口轉發的方式去訪問,無法直接用外網IP或域名訪問業務服務器,這時可以登錄上雲,先使用本地IP+端口訪問,只要是正常的,再在接收轉發的機子訪問一下,如果訪問不了,基本可以確認是防火牆問題,去檢查一下防火牆的轉發規則,將業務服務器入方向的端口允許跳板機訪問就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章