通过Ubuntu Node.js日志诊断网络问题可按以下步骤操作:
查看Node.js应用日志
console.log、console.error或第三方库(如Winston、Morgan)记录网络请求信息,重点关注Error、HTTP状态码(如404、500)及超时提示。tail -f app.log实时查看日志,或用grep搜索特定错误(如ETIMEDOUT、ECONNREFUSED)。分析系统日志
journalctl -u your-node-service.service查看Node.js服务相关系统日志。/var/log/syslog、/var/log/kern.log,排查内核或硬件级网络异常(如DNS解析失败、路由问题)。借助网络诊断工具
ping测试目标服务器连通性,traceroute追踪路由路径。netstat或ss查看网络连接状态,检查是否有TIME_WAIT或CLOSE_WAIT等异常连接。核查防火墙与配置
ufw或iptables确认防火墙规则未阻止Node.js应用的网络访问。启用高级监控与调试
tcpdump抓取网络数据包,分析通信细节(如SSL握手、TCP状态)。node --inspect启动调试模式,结合Chrome DevTools定位代码级网络问题。关键错误码参考:
ETIMEDOUT:连接超时,可能因网络延迟或目标服务无响应。ECONNREFUSED:连接被拒绝,目标端口未开放或服务未运行。ENOTFOUND:DNS解析失败,需检查域名配置或本地DNS设置。