在服務器上,安裝了redis且啟動,使用默認的6379端口,但是外網無法連接,telnet ip 6379不通。
首先看雲服務器安全組規則,6379是否允許訪問。
保險起見同時在服務器上關閉了防火牆和iptables服務
systemctl stop firewalld
service iptables stop
查看防火牆和iptables狀態
systemctl status firewalld
service iptables status
確認是關閉的,但是telnet ip 6379仍是不通。
繼續排查:
netstat -ano |grep :6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN off (0.00/0/0)
找到問題了,redis服務配置有問題,只能使用127.0.0.1端口訪問
解決:
# 編輯配置文件 vi redis.conf #注釋綁定機器網卡的ip和關閉保護模式,允許外部網絡訪問 # bind 127.0.0.1 protected-mode no # 允許后台運行 daemonize yes
重新啟動:
src/redis-server redis.conf
再次測試,telnet已通,使用java代碼連接,操作正常。
其他的外網無法訪問的情況可以使用同樣的方法排查。