简介
如标题,在公网服务器上创建tcp/udp 服务器,用于客户端调试.

运行环境
node.js
docker
源代码
server.js服务器程序package.jsonnode.js的依赖库public\index.htmlUI界面Dockerfile创建docker 镜像2025年9月版的node.js
下载
docker使用
## 创建镜像
docker build -t node-net-server .
## 直接启动
docker run -d --name mynode --net=host -v /opt/share/node:/usr/src/app node-net-server:latest
## 查看是否启动
docker logs mynode
## 进入容器
docker exec -it mynode /bin/bash
## 调试node
docker run -it --rm --name my-node-container -v /opt/share/node:/usr/src/app node /bin/bash
## 直接用node.js
docker run -itd --name nodeim --net=host -v /opt/node/nodeim:/opt/node/nodeim node_lts-alpine:latest
端口防火墙
默认使用 8080 和 13000-16000端口,注意打开tcp/udp 防火墙
用户界面
IP:8080
问题
docker 使用 --net=host 不能监听到 tcp4端口时候,可以尝试在所有listen的函数中,指定 '0.0.0.0' 所有interface接口上都监听.
`
// 修改为明确指定绑定到所有接口
server.listen(port, '0.0.0.0',`
centos防火墙设置
既然 firewalld 未运行,可直接启用它并开放 8080 端口(比手动配置 iptables 更简单、易维护):
# 1. 启动 firewalld 服务并设置开机自启
sudo systemctl start firewalld
sudo systemctl enable firewalld
# 2. 开放 8080 端口(TCP 协议,永久生效)
# --permanent:永久规则(重启 firewalld 不失效);--add-port:指定端口和协议
sudo firewall-cmd --add-port=8080/tcp --permanent
# 开放 13000-16000 端口范围(TCP 协议,永久生效)
sudo firewall-cmd --add-port=13000-16000/tcp --permanent
# 如果需要同时开放 UDP 协议(根据实际需求选择)
sudo firewall-cmd --add-port=13000-16000/udp --permanent
# 3. 重新加载 firewalld 规则,使配置生效
sudo firewall-cmd --reload
# 4. 验证 8080 端口是否已开放
sudo firewall-cmd --list-ports | grep 8080
# 若输出 "8080/tcp",说明端口已成功开放
最后一次更新于2025-11-01


