无法访问远程Linux虚拟机上的Airflow Web UI 求助
本地访问Airflow虚拟机UI出现ERR_CONNECTION_TIMED_OUT的排查与解决
当前环境状态
- ufw已开放所有相关端口
- Scheduler运行正常
- Webserver初始化正常
- Postgresql配置完成
- 已连接公司VPN
- 执行
airflow standalone命令运行正常 - 虚拟机本地执行
wget IP:8080可获取Airflow UI的HTML内容 - 已尝试使用机器IP而非
0.0.0.0:8080,仍无法访问
当前ufw规则
To Action From -- ------ ---- 443/tcp ALLOW Anywhere 80/tcp ALLOW Anywhere 8080/tcp ALLOW Anywhere 3306 ALLOW Anywhere 22/tcp ALLOW Anywhere 443/tcp (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 8080/tcp (v6) ALLOW Anywhere (v6) 3306 (v6) ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6)
排查步骤与解决方法
1. 验证基础网络连通性
- 本地执行
ping Linux_IP,检查是否能收到响应。如果丢包,说明网络链路存在阻断,需排查VPN路由是否变更、公司防火墙是否限制了该网段访问。 - 若ping不通,联系网络管理员确认虚拟机所在网段是否对本地开放,或VPN是否有路由调整。
2. 检查Airflow Webserver监听地址
- 查看
airflow.cfg配置文件中的web_server_host参数,确认是否绑定了虚拟机的实际IP(而非仅127.0.0.1)。 - 执行
ss -tulpn | grep 8080,查看8080端口的监听状态:- 如果显示
127.0.0.1:8080,说明仅允许本地访问,修改web_server_host为0.0.0.0或虚拟机IP后,重启Airflow Webserver。 - 如果显示
0.0.0.0:8080或对应虚拟机IP,说明监听配置正常。
- 如果显示
3. 排查中间防火墙/VPN端口限制
- 尝试从同网段的其他机器访问
Linux_IP:8080,若能访问,说明问题出在本地机器到虚拟机的VPN链路或本地防火墙。 - 检查本地机器防火墙设置,确认是否允许出站访问8080端口。
- 联系公司网络团队,确认是否新增了针对8080端口的拦截规则。
4. 确认虚拟机IP准确性
- 虚拟机上执行
ip addr查看当前IP,确认本地访问时使用的IP是否匹配。部分VPN环境下,虚拟机内网IP可能动态变更。
5. 测试端口连通性
- 本地执行
nc -zv Linux_IP 8080(或telnet Linux_IP 8080),测试端口是否能建立连接。如果提示连接失败,说明端口在网络中间被阻断。
内容的提问来源于stack exchange,提问作者Alex Majeau
相关产品推荐
相关产品推荐

