不

Redis 快速入门状态:

确保 Redis 用于监听连接的端口(默认为 6379,如果以集群模式运行 Redis,则另外为 16379,对于 Sentinel,则为 26379)已设置防火墙,这样外界就无法联系 Redis。

是否有一个简短的命令来检查端口是否防火墙

通常,我在主机上安装了 ufw(几乎总是 Ubuntu),但没有安装 nmap。

答案1

for port in 6379 16379 26379;do nc -zv 127.0.0.1 $port;done

当然,您应该使用另一台服务器从外部而不是从本地主机检查防火墙,以确保应用程序被阻止。

答案2

一个简短的命令来检查端口是否有防火墙?

无论是仅从提供服务的主机还是从客户端,都无法可靠或确定地确定。请注意,除了基于主机的防火墙之外,客户端和服务器之间的网络路径中还可能存在防火墙和访问控制。

您可以从客户端尝试建立与提供服务的主机上正确端口的连接。(对于 TCP 服务,通常为telnet host portnc -vz host portopenssl s_client -connect host:port等。)

如果可以的话成功建立连接:确实存在没有防火墙, 或者连接已列入白名单在防火墙中。后者是一个很大的区别,因为防火墙中可能还有其他控制措施,可能会在以后影响您的性能,例如速率限制、入侵检测等。

如果无法建立连接,运气好的话,你会收到一条connection refused错误消息。我们的规范connection refused Q&A详细解释了如何从那里进行以确定问题是否是提供服务的主机配置不正确或者防火墙确实阻止了连接(或两者兼而有之)。

如果无法建立连接您会得到一个connection time-out,这可能是防火墙通过丢弃连接尝试而不是礼貌地拒绝连接来阻止连接,但也可能是路由问题、主机名解析为错误的 IP 地址或其他问题。

答案3

您可以使用 netcat 或 telnet 来检查某些外部机器的端口是否打开。

相关内容