无法连接运行在EC2实例上的Apache Airflow服务器如何解决
EC2部署Airflow公网访问超时排查方案
按优先级依次排查以下配置项:
- 检查Airflow监听地址
服务默认绑定本地回环地址127.0.0.1,仅支持实例本地访问,需要先在EC2实例执行命令验证监听状态:
如果返回结果中监听地址为ss -tulpn | grep 8989127.0.0.1,需要修改airflow.cfg配置文件中的web_server_host参数为0.0.0.0,重启Airflow webserver服务后生效。 - 检查实例操作系统层面防火墙规则
除了AWS安全组外,EC2实例内部的防火墙也会拦截公网流量:- Ubuntu/Debian系统:执行
sudo ufw allow 8989/tcp放行端口 - CentOS/Amazon Linux系统:执行
sudo firewall-cmd --add-port=8989/tcp --permanent && sudo firewall-cmd --reload放行端口
若实例配置了iptables规则,也需要同步添加8989端口的TCP入站放行规则。
- Ubuntu/Debian系统:执行
- 核对AWS安全组配置
确认以下配置无误:- 你修改的安全组确实已绑定到目标EC2实例
- 入站规则的协议为TCP、端口范围包含8989
- 入站规则的源地址为你本地设备的公网IP,若为临时测试可设置为
0.0.0.0/0(不推荐长期使用,存在安全风险)
- 检查VPC网络ACL配置
若你手动修改过VPC关联的网络ACL,需要确认:- 入站规则允许8989端口的TCP流量
- 出站规则允许1024-65535范围的临时端口TCP流量(默认网络ACL已允许所有流量,未修改过可跳过该步骤)
- 排查网络连通性问题
首先确认EC2实例已分配公网IP/弹性IP,你访问的域名/IP和实例公网地址一致;其次可切换手机热点访问,排除本地办公网络封禁8989端口出站的情况。
内容的提问来源于stack exchange,提问作者Korba
相关产品推荐
相关产品推荐

