在Linux服务器上配置防火墙以保护Node.js应用程序通常涉及使用iptables或firewalld等工具。以下是使用这两种工具配置防火墙的基本步骤:
查看当前iptables规则:
sudo iptables -L -n
允许SSH连接(如果需要):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允许HTTP/HTTPS连接:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
允许Node.js应用程序使用的端口(例如,如果你的Node.js应用运行在3000端口):
sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
拒绝所有其他入站连接:
sudo iptables -P INPUT DROP
保存iptables规则(具体命令可能因发行版而异):
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
sudo service iptables save
查看当前firewalld状态:
sudo firewall-cmd --state
允许SSH连接(如果需要):
sudo firewall-cmd --permanent --add-service=ssh
允许HTTP/HTTPS连接:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
允许Node.js应用程序使用的端口(例如,如果你的Node.js应用运行在3000端口):
sudo firewall-cmd --permanent --add-port=3000/tcp
重新加载firewalld配置:
sudo firewall-cmd --reload
查看当前firewalld规则:
sudo firewall-cmd --list-all
通过以上步骤,你可以为你的Node.js应用程序配置一个基本的防火墙保护。根据你的具体需求和安全策略,可能需要进一步调整和细化这些规则。