AWS EC2实例重启后访问Jenkins报ERR_CONNECTION_TIMED_OUT错误
EC2重启后Jenkins 8080端口连接超时排查步骤
按以下顺序逐一排查,绝大多数场景都能定位问题:
- 第一步:确认Jenkins服务运行状态
实例重启后未配置服务开机自启是最高发的原因。先通过EC2控制台的实例连接功能,或SSH登录到EC2内部,执行命令检查服务状态:sudo systemctl status jenkins
如果返回状态为inactive (dead),直接执行启动命令:sudo systemctl start jenkins,同时配置开机自启避免下次重启复现问题:sudo systemctl enable jenkins。
启动完成后等待10秒,先在实例本地执行curl http://localhost:8080验证,如果能返回HTML内容,说明Jenkins服务本身运行正常。 - 第二步:检查系统本地防火墙规则
安全组是AWS层面的流量控制,AWS Linux默认自带的系统防火墙会独立拦截端口,必须单独放通。
针对AWS Linux 2(默认搭载firewalld),执行命令检查已放通端口:sudo firewall-cmd --list-ports
如果输出中没有8080/tcp,依次执行以下命令放通端口并重载规则:
如果使用的是初代AWS Linux(搭载iptables),执行以下命令放通端口并保存规则:sudo firewall-cmd --add-port=8080/tcp --permanent sudo firewall-cmd --reloadsudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT sudo service iptables save - 第三步:验证基础网络连通性
首先在EC2控制台实例详情页,确认你访问用的IP和实例当前生效的公有IPv4地址完全一致,实例停止再启动后默认会重新分配公网IP,旧IP会失效。
先在本地ping当前公网IP,如果ping不通,检查实例所在子网的路由表:必须存在目标为0.0.0.0/0、下一跳为互联网网关(igw-开头资源)的默认路由;同时检查子网关联的网络ACL,确认没有拦阻入站/出站8080端口、ICMP流量的规则。 - 第四步:核对安全组配置细节
检查绑定在实例弹性网卡上的安全组入站规则:8080端口的源地址配置不要误设为VPC内网网段,测试阶段可临时将源设为0.0.0.0/0验证(验证完成后务必改回自身出口IP段,降低服务暴露风险)。 - 第五步:检查Jenkins监听地址
如果以上配置都正常,执行命令检查Jenkins的监听地址:sudo ss -tulpn | grep 8080
如果返回的本地监听地址为127.0.0.1:8080,说明Jenkins仅允许本地访问,需要编辑配置文件/etc/sysconfig/jenkins,将JENKINS_LISTEN_ADDRESS参数值修改为0.0.0.0,修改完成后执行sudo systemctl restart jenkins重启服务即可。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

