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

AWS Application Load Balancer指向EC2上Spring Boot应用的HTTPS请求无响应问题求助

排查AWS Application Load Balancer请求超时问题的思路

让我们一步步拆解这个问题,从最关键的点开始排查:

  • 优先开启ALB访问日志
    你提到还没配置日志到S3,这是定位问题的核心手段!赶紧进入ALB的配置页面,找到「访问日志」选项,指定一个有权限的S3存储桶。等待5-10分钟后去查看日志,里面会详细记录每个请求的生命周期——比如请求是否真的到达了ALB、转发时遇到了什么错误(比如目标组无健康实例、连接超时、协议不兼容等)。没有日志的话,很多问题只能靠猜,这一步一定要先做。

  • 验证域名DNS解析是否正确
    你说ping域名返回的是非dualstack IP,但配置的是别名指向dualstack路由值。这里要注意:当使用ALB的别名记录时,DNS应该返回ALB的dualstack端点(格式通常是dualstack.<alb-name>-xxxxxx.us-east-1.elb.amazonaws.com)。可以用dig <你的域名>或者nslookup <你的域名>命令查看解析结果,确认返回的CNAME/A记录是否真的指向了正确的dualstack ALB域名。如果解析错误,流量根本到不了ALB,这就能解释监控里无入站请求的问题。

  • 检查VPC网络ACL配置
    虽然你提到ALB和EC2用的安全组都没问题,但VPC的网络ACL是容易被忽略的点。网络ACL是VPC层面的防火墙,默认允许所有出入,但如果被修改过,可能会阻断443端口的流量:

    • 确认ALB所在子网的网络ACL,入站规则允许0.0.0.0/0的TCP 443端口,出站规则允许所有响应流量(比如允许临时端口的回包)。
    • 确认EC2实例所在子网的网络ACL,允许ALB子网的IP段(属于172.31.0.0/16)访问TCP 443端口。
  • 确认ALB的Scheme和监听器配置

    • 检查ALB的「Scheme」是否为internet-facing:如果是内部ALB,公网是无法访问的,直接会导致超时。
    • 核对HTTPS监听器的默认动作:确保确实是转发到了目标组,没有误配置成固定响应或其他动作。另外可以检查监听器的SSL协议版本(比如是否强制使用了后端不支持的TLS 1.3),不过你提到健康检查成功,这条优先级稍低。
  • 再次验证目标组与EC2的连通性
    虽然健康检查成功,但还是可以再确认几个细节:

    • 目标组里的EC2实例状态是否持续为「健康」,有没有偶尔波动?
    • 如果目标组用的是HTTPS协议,Spring Boot应用是否真的在443端口监听?你直接访问公网IP时用的是443还是80?如果本地用自签名证书,目标组健康检查的「验证证书」选项是否已关闭(如果开启会导致自签名证书验证失败,但你说健康检查成功,应该是关闭了)?
    • EC2安全组的入站规则是否允许ALB的安全组访问443端口?你说开放了所有来源,那没问题,但如果是限制了特定IP,要确保ALB的安全组在允许列表内。
  • 直接测试ALB端点
    跳过域名,直接访问ALB的官方域名(比如lb-prod-xxxxxx.us-east-1.elb.amazonaws.com或dualstack版本),用HTTPS请求试试:

    • 如果访问ALB域名也失败,说明问题出在ALB本身或到ALB的流量链路;
    • 如果访问ALB域名成功,那就是域名解析或别名记录配置的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 18:32:40