双门神挡路:Node 服务在腾讯云+宝塔上“3001 端口永远不通”的血泪排查录

🚪🔥 双门神挡路:Node 服务在腾讯云+宝塔上“3001 端口永远不通”的血泪排查录

关键词:Node.js / 腾讯云 / 宝塔 / 安全组 / 系统防火墙 / 端口放行


1. 故事开场

在腾讯云 OpenCloudOS 上起了一个 Express,监听 3001,本地 curl 127.0.0.1:3001 秒回 Cannot GET /,但是——

# 外网
curl http://<公网IP>:3001
# 结果:一直 Timeout 🤬

20 分钟之后,发现原来有 两道门

  • 云平台的“大院门”——安全组
  • 宝塔的“房门”——系统防火墙

只开任意一道,流量都会被另一道直接拍死。
云主机安全组如下:
在这里插入图片描述
宝塔安全组如下(登录宝塔的操作界面)
在这里插入图片描述


2. 主流程图(Mermaid)

访问 3001
放行
未放行
放行
未放行
公网用户
腾讯云安全组
大院门
到达服务器网卡
超时/丢包
宝塔/系统防火墙
房门
Node 进程
0.0.0.0:3001
Connection refused
正常响应

3. 排查 checklist(按图层从高到低)

层级检查点一键命令 / 操作预期结果
① 应用Node 监听地址ss -lntp | grep 30010.0.0.0:3001
② 房门系统防火墙firewall-cmd --list-ports3001/tcp
③ 房门宝塔面板-防火墙可视化:安全 → 防火墙 → 放行 3001状态“正常”
④ 房门Nginx 防火墙插件插件 → 设置 → 放行 3001 或临时关闭不再拦截
⑤ 大院门云安全组控制台 → 入站规则 → TCP 3001 放行策略“放行”
⑥ 大院门云防火墙(可选)控制台 → 云防火墙 → 入站 3001 放行策略“放行”

4. 实战命令速查

# 1. 确认监听
ss -lntp | grep 3001

# 2. 放行 firewalld(CentOS/OpenCloudOS)
firewall-cmd --permanent --add-port=3001/tcp
firewall-cmd --reload

# 3. 本地快速自测
curl http://127.0.0.1:3001

# 4. 外网调试
curl -v http://<公网IP>:3001

# 5. 实时抓包(看包到底到没到)
tcpdump -i any -n port 3001

5. 常见坑位 Top3

  1. 只在宝塔放行,忘了安全组 → 包根本进不了服务器,外网一直超时。
  2. Node 只监听 127.0.0.1 → 本地能通,外网依旧 Connection refused。
  3. Nginx 防火墙插件默认拦非 80/443 → 两层门都开了,却被插件顺手丢弃。

6. 结论口诀

“先开大院门,再开房门,地址别只绑 127.0.0.1!”

两道门都放行后,再次 curl <公网IP>:3001 ——
终于看见熟悉的 Cannot GET / 时,眼泪掉下来 😭。


7. 延伸阅读


🎉 你的 Node 服务现在真正“在线”了! 记得收藏 checklist,下次加端口 3 分钟搞定。


以我之思,借AI之力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值