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

如何调试或修复curl访问EC2实例端口时出现Connection Refused的问题

可能的原因及调试步骤

核心可能原因

  • 服务仅绑定了环回地址:本地curl localhost:1234正常不代表服务监听了可对外访问的网卡地址,大概率是服务仅绑定了127.0.0.1,仅支持本地访问
  • 实例操作系统内置防火墙拦截:AWS安全组是云平台层面的访问控制,实例自身运行的iptables、firewalld、ufw等防火墙规则可能放行了80端口,但拦截了1234端口
  • VPC子网关联的网络ACL拦截:网络ACL是子网级的无状态访问控制规则,即使安全组全放通,若网络ACL没有放行1234端口的入/出站流量,也会导致访问失败
  • 服务自带访问控制限制:部分服务默认配置仅允许本地访问,或配置了IP白名单、来源校验规则,会拒绝非本地的访问请求

按优先级执行调试操作

  1. 检查端口监听配置
    在EC2实例本地执行命令:
    ss -tulnp | grep :1234
    查看输出的Local Address列:
    如果显示为127.0.0.1:1234或::1:1234,说明服务仅监听环回地址,修改服务配置文件,将监听地址改为0.0.0.0:1234(适配IPv4)或:::1234(同时适配IPv4/IPv6)后重启服务即可。

  2. 排查操作系统防火墙规则

  • 若实例是CentOS/RHEL系列发行版:
    执行systemctl status firewalld确认防火墙运行状态,若处于运行中,执行firewall-cmd --list-all查看已放行端口,若没有1234端口,执行以下命令永久放行:
firewall-cmd --add-port=1234/tcp --permanent
firewall-cmd --reload

如果使用iptables管理防火墙,执行iptables -L -n检查INPUT链是否存在拦截1234端口的规则。

  • 若实例是Ubuntu/Debian系列发行版:
    执行ufw status确认ufw运行状态,若处于启用状态,执行ufw allow 1234/tcp放行对应端口。
  1. 检查VPC网络ACL配置
    登录AWS控制台,进入VPC控制台,找到实例所在子网关联的网络ACL,分别检查入站、出站规则:
    入站规则需要允许源地址访问1234端口的TCP流量,出站规则需要允许目标地址返回响应的TCP流量(网络ACL为无状态规则,入/出站都需要配置)。

  2. 校验服务自带访问控制规则
    查看运行在1234端口的服务的配置文件,确认是否存在IP白名单、本地访问限制、跨域校验等逻辑,去掉对应限制后重启服务即可。

内容的提问来源于stack exchange,提问作者mwlon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:39:02