如何从本地局域网的Windows设备访问Ubuntu主机上部署的Node服务
局域网访问Node服务失败排查方案
1. 修正Node服务监听配置
- 官方基础示例默认监听
127.0.0.1回环地址,仅接受本机访问,需修改为监听0.0.0.0允许所有网卡的请求。 - 修正后的代码示例:
const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('响应内容'); }); // 显式指定监听0.0.0.0 server.listen(8000, '0.0.0.0', () => { console.log('服务已启动'); });
- 修改配置后必须重启Node进程生效。
2. 放行Ubuntu防火墙端口
- Ubuntu默认ufw防火墙会拦截外部对8000等非默认端口的访问,需手动执行命令放行:
- 查看防火墙状态:
sudo ufw status - 放行对应端口:
sudo ufw allow 8000/tcp - 重载规则生效:
sudo ufw reload
- 查看防火墙状态:
3. 验证局域网连通性
- 首先确认PC A的局域网IP为物理网卡(有线为eth/enp开头,无线为wlan开头)的inet地址,不要使用lo、docker0等虚拟网卡地址。
- 在PC B的命令行执行
ping [PC A的局域网IP],如果无法ping通,需确认两台设备在同一网段、路由器未开启AP隔离。 - ping通后执行
telnet [PC A的局域网IP] 8000测试端口连通性,能成功连接即配置正常。
内容的提问来源于stack exchange,提问作者Sconley254
相关产品推荐
相关产品推荐

