debian

Debian Node.js如何配置防火墙

小樊
41
2025-10-10 16:29:18
栏目: 编程语言

Debian系统下Node.js防火墙配置指南(以UFW为例)
在Debian系统中,UFW(Uncomplicated Firewall) 是最常用的防火墙管理工具,因其简单易用的特性,非常适合为Node.js应用配置基础防火墙规则。以下是详细配置步骤及注意事项:

1. 安装UFW

若系统未安装UFW,可通过以下命令安装:

sudo apt update
sudo apt install ufw

2. 启用UFW

安装完成后,启用UFW以激活防火墙:

sudo ufw enable

系统会提示“Command may disrupt existing ssh connections”,输入 y 并回车确认(若通过SSH远程连接,需确保已允许SSH端口,见步骤4)。

3. 允许Node.js应用端口流量

Node.js应用通常运行在非标准端口(如3000、8080等),需通过UFW允许该端口的TCP流量(HTTP应用用80端口,HTTPS用443端口):

sudo ufw allow 3000/tcp  # 替换为你的Node.js应用实际端口

4. 允许SSH端口(远程管理必需)

若通过SSH远程管理服务器,需确保SSH端口(默认22)未被防火墙阻断:

sudo ufw allow 22/tcp

5. (可选)限制特定IP访问

为提升安全性,可限制仅特定IP地址访问Node.js应用端口(如公司IP、个人电脑IP):

sudo ufw allow from 192.168.1.100 to any port 3000  # 替换为你的允许IP

此命令仅允许 192.168.1.100 访问3000端口,其他IP将被拒绝。

6. 查看防火墙状态

通过以下命令查看当前UFW规则及状态(确认规则是否生效):

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)

7. 重新加载/重启UFW

若修改了防火墙规则(如添加/删除端口),需重新加载UFW使更改生效:

sudo ufw reload

若需完全重启UFW(如解决规则冲突):

sudo ufw restart

8. (可选)禁用UFW

若需临时关闭防火墙(不推荐生产环境使用),可使用以下命令:

sudo ufw disable

补充:使用iptables配置(备选方案)

若需更底层的网络控制,可使用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 save

注意事项

0
看了该问题的人还看了