在Debian系统上为Node.js应用配置UFW防火墙,推荐使用。步骤:安装并启用,开放应用端口(如3000/tcp)和SSH端口(22/tcp),可选限制IP地址访问。最后查看状态并重新加载规则。生产环境务必谨慎开放端口,仅开放必要服务端口以提升安全性。
在Debian系统上为Node.js应用配置防火墙,UFW(Uncomplicated Firewall)几乎是最省心的选择——名字就叫“不折腾防火墙”,操作直观,规则清晰。下面直接进入正题,把配置步骤和关键注意点捋一遍。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
系统里要是没装UFW,一行命令搞定:
sudo apt update
sudo apt install ufw
安装完,激活防火墙:
sudo ufw enable
系统会弹个警告:“Command may disrupt existing ssh connections” —— 别慌,输入 y 回车确认就好。不过前提是已经确保SSH端口是放行的(见下一步)。如果是在远程SSH会话里操作,这一步尤其要注意顺序。
Node.js应用通常跑在3000、8080这类非标准端口上。HTTP应用开80,HTTPS用443,根据实际情况开放TCP流量:
sudo ufw allow 3000/tcp
# 替换为你的Node.js应用实际端口
远程管理服务器全靠SSH,默认端口22一定不能封死:
sudo ufw allow 22/tcp
如果只想让固定IP(比如公司出口IP或家里电脑)访问Node.js端口,可以精确控制:
sudo ufw allow from 192.168.1.100 to any port 3000
# 替换为你的允许IP
这样只有192.168.1.100能连3000端口,其他IP统统被挡在外面,安全性提升一大截。
规则配好了,得确认一下是否生效:
sudo ufw status verbose
输出大概长这样:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
3000/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
3000/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
看到“ALLOW”和对应端口就放心了。
修改规则后(比如增减端口),必须重新加载才能生效:
sudo ufw reload
要是遇到规则冲突之类的问题,可以彻底重启:
sudo ufw restart
临时关防火墙(生产环境千万别这么干):
sudo ufw disable
如果需要更底层的网络控制,可以用iptables——UFW底层其实就是它,但配置起来更繁琐:
# 安装iptables
sudo apt install iptables
# 允许3000端口TCP流量
sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
# 保存规则(需安装iptables-persistent)
sudo apt install iptables-persistent
sudo netfilter-persistent sa ve
注意事项:
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述