繁体   English   中英

nginx tcp SYN数据包未接收到ACK

[英]nginx tcp SYN packet not receiving ACK

我的服务器设置是nginx直接连接到node.js服务器(nginx和node.js在同一节点,nginx是转发请求到节点:127.0.0.1:8000)。 症状有时在nginx日志中有大约504个日志。 而node.js日志没有显示任何接收请求的迹象。 然后我使用iptables启用tcp日志,它将所有tcp数据包记录到端口8000.检查tcp日志后,似乎nginx尝试与node.js服务器建立tcp连接,但它从未成功。 它只是继续重试发送SYN数据包然后由nginx超时。 这是一个例子(tcp + nginx log):

13:44:44 sp:48103 dp:8000 SYN
13:44:45 sp:48103 dp:8000 SYN
13:44:47 sp:48103 dp:8000 SYN
13:44:51 sp:48103 dp:8000 SYN
13:44:59 sp:48103 dp:8000 SYN
13:45:15 sp:48103 dp:8000 SYN
13:45:44 nginx 504

在此期间,CPU负载非常轻,内存<50%,传入请求小于每分钟50。 其他请求正常处理。

服务器是Ubuntu 14.04.2 LTS

知道发生了什么事吗? 看起来像操作系统级问题? 先感谢您。

检查环回接口上TCP端口8000上是否确实存在某些内容。 尝试一些命令,如:

lsof -P -n -i tcp:8000
fuser 8000/tcp
ss -4lnt
netstat -4lnt

这些应该给你一些关于某些东西是否正在倾听的提示。 或者它可能只是在侦听特定的接口/地址而不是你的环回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM