Oracle Compute实例无法连接Node.js服务器问题求助
解决方案
1. 补全云子网入站规则
你当前仅开放了80和443端口,而Express应用运行在3000端口,需在云子网的入站规则中添加:
- 协议:TCP
- 端口范围:3000
- 源地址:0.0.0.0/0
2. 配置Ubuntu本地防火墙UFW
先执行命令检查UFW运行状态:
sudo ufw status
若UFW处于启用状态,添加允许3000端口TCP流量的规则:
sudo ufw allow 3000/tcp
再次执行sudo ufw status确认规则已生效。
3. 修改Express监听地址
当前代码中app.listen(3000)默认仅监听本地回环地址(127.0.0.1),外部无法访问。需修改为监听所有网卡地址:
const express = require('express'); const app = express(); app.get('/', (req, res)=>{ return res.json({"Hello World": "Hi"}); }) // 修改监听地址为0.0.0.0,允许外部访问 app.listen(3000, '0.0.0.0', ()=>{ console.log('server listening on port 3000') })
4. 验证连接
重启Express应用后,尝试在浏览器访问http://192.18.132.24:3000,或在本地终端执行:
curl http://192.18.132.24:3000
若返回{"Hello World": "Hi"}则说明配置成功。
内容的提问来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

