在 CentOS 上设置防火墙以允许 Node.js 应用程序的流量,通常涉及使用 firewalld
或 iptables
。以下是使用这两种方法的详细步骤:
使用 firewalld
-
安装 firewalld(如果尚未安装):
sudo yum install firewalld
-
启动 firewalld 服务:
sudo systemctl start firewalld
-
启用 firewalld 服务开机自启:
sudo systemctl enable firewalld
-
打开特定端口(例如,Node.js 应用程序运行在端口 3000):
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
-
重新加载防火墙配置:
sudo firewall-cmd --reload
-
验证端口是否已打开:
sudo firewall-cmd --list-all
使用 iptables
-
安装 iptables(如果尚未安装):
sudo yum install iptables
-
启动 iptables 服务:
sudo systemctl start iptables
-
启用 iptables 服务开机自启:
sudo systemctl enable iptables
-
打开特定端口(例如,Node.js 应用程序运行在端口 3000):
sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
-
保存 iptables 规则(CentOS 7 及以上版本):
sudo service iptables save
-
验证规则是否已添加:
sudo iptables -L -n
注意事项
- 安全性:确保只打开必要的端口,并且不要在生产环境中暴露不必要的端口。
- 持久性:使用
--permanent
选项可以确保防火墙规则在系统重启后仍然有效。 - 防火墙状态:在修改防火墙规则之前,确保防火墙服务正在运行。
通过以上步骤,您可以在 CentOS 上为 Node.js 应用程序设置防火墙规则,确保其能够接收来自外部的流量。