nginx - EC2 Nginx 卡在 SYN_ACK 中,用于来自单个 ip 的 http 请求

标签 nginx networking amazon-ec2 centos iptables

关闭。这个问题不符合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/

相关文章:

http - Java网络监视器

amazon-web-services - AWS 更改数据收集系统上的 EBS 根卷

amazon-ec2 - AWS EC2 : how to get a data transfer breakdown per instance

nginx - 调用超时(错误 1006) - bigbluebutton

nginx - lua-resty-redis set_keepalive 推荐设置

c++ - 非阻塞发送功能

javascript - Python 到 JavaScript 持久连接

c++ - 使用nginx在c++中使用fastcgi访问环境变量

regex - nginx 位置正则表达式 - 字符类和匹配范围

amazon-web-services - Ansible - 如何启动(购买)保留的 EC2 实例