关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
我们不允许在 Stack Overflow 上提出有关专业服务器或网络相关基础设施管理的问题。您可以编辑问题,使其成为 on-topic对于堆栈溢出。
1年前关闭。
Improve this question
我有一个 EC2 实例启动并运行,默认为 amzn2 linux。
我已经从安全组中的所有 ip 启用了 HTTP、HTTPS、SSH 入站规则,因此应该可以从所有 ip 访问它。
我做了
sudo iptables -I INPUT -p tcp --dport 80 -j LOG
我可以看到我的请求出现在sudo tail -f /var/log/messages
服务器正在运行 nginx,即通过 unix 套接字将请求代理到节点集群。所有请求似乎都来自除我之外的其他 IP 地址。而且只有 HTTP/HTTPS。
所以一切似乎都运行良好,但我无法从本地开发机器通过 HTTP/HTTPS 连接,SSH 工作正常。
iptables 是空的
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
我不知道是什么阻止了我的请求。它让我发疯,我花了好几个小时才弄明白,却不知道这是怎么回事。任何人?更新
似乎 TCP 连接卡在 SYN_RECV 状态。不知道根本原因。
$ netstat -atupen
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 vm.vm.vm.vm:80 my.my.my.my:8857 SYN_RECV 0 0 -
vm.vm.vm.vm -> aws 内部 IP 地址my.my.my.my -> 我当前的 IP 地址
最佳答案
无论如何,您的实例是否在具有一些自定义 ACL 的 VPC 中?
SYN_RECV 表示第一个 SYNC 和 SYN/ACK 正确通过了防火墙,因此您可能想调查为什么您的客户端无法发送最后一个 ACK。
您的计算机/路由器上是否有某种防火墙,或者您的网络存在连接问题?
亲切的问候
关于nginx - EC2 Nginx 卡在 SYN_ACK 中,用于来自单个 ip 的 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65286184/