You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决AWS中EC2间调用REST API出现的Socket Hang up 404问题

EC2跨服务器调用REST API出现Socket Hang up 404错误的排查方案
  • 确认API端点准确性

    • 核对请求的URL路径、HTTP方法(GET/POST等)是否和目标API定义完全一致,注意拼写错误、大小写差异(部分框架路由区分大小写)
    • 在目标EC2本地用curl直接测试API,比如curl -X GET http://localhost:端口/完整路径,验证API本身是否能正常响应,排除服务自身的404问题
  • 检查目标端口监听状态

    • 在目标服务器执行netstat -tulpn | grep 端口号或ss -tulpn | grep 端口号,确认API服务正在监听指定端口,且绑定的是0.0.0.0(允许所有IP访问)而非仅127.0.0.1(仅本地访问)
  • 验证安全组与网络ACL配置

    • 源EC2安全组:确保已允许出站访问目标EC2的API端口(如TCP 8080)
    • 目标EC2安全组:确认已放行源EC2的IP或安全组ID对API端口的入站访问
    • 网络ACL:检查入站、出站规则,因为网络ACL是无状态的,入站允许的端口流量,出站也要对应开放
  • 排查请求超时与资源限制

    • Socket Hang up可能是目标API处理请求超时导致连接被关闭,查看目标API的日志,检查是否有请求处理缓慢、CPU/内存耗尽的情况
    • 调整源服务器请求客户端的超时设置,比如Node.js的axios可以设置timeout: 30000(30秒),避免因超时时间过短触发断开
  • 检查目标API服务状态

    • 查看目标API的日志文件(如应用日志、反向代理日志),找到404错误的具体记录,确认是路由未匹配还是资源不存在
    • 重启目标API服务,排除服务运行异常导致的路由失效问题
  • 验证IP/域名解析

    • 如果调用用的是域名,在源EC2上执行nslookup 域名或dig 域名,确认解析结果是目标EC2的正确私有IP(同VPC内优先用私有IP)
    • 尝试直接用目标EC2的私有IP调用API,排除域名解析错误的影响

内容的提问来源于stack exchange,提问作者Sampath Kumar kallem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:27:45