AWS ALB+ECS环境下HTTPS应用健康检查失败且返回502 Bad Gateway的问题求助
AWS ALB+ECS环境下HTTPS应用健康检查失败且返回502 Bad Gateway的问题求助
大家好,我最近在学习AWS时搭建了一个简单的应用,之前的HTTP版本一切正常,但换成HTTPS后遇到了麻烦,想请各位帮忙分析下问题所在:
我先做了HTTP版本的Docker镜像,推送到ECR,接着用ECS创建了服务和任务,配置了应用负载均衡器(ALB),还通过CodeDeploy实现了蓝绿部署和自动扩缩容。这个版本运行完全没问题,健康检查也都能通过。
但当我把改成HTTPS版本的应用(已经分配了证书)部署上去后,健康检查直接失败了,访问应用还会返回502 Bad Gateway。为了排查问题,我已经把安全组改成允许所有请求,并且通过Route53给负载均衡器绑定了域名,但问题还是没解决。
我尝试直接调用健康检查端点时,同样得到502,查看ALB日志后发现了这些关键信息(我整理了格式方便阅读):
type https time 2023-02-10T14:37:00.099726Z elb app/myapp-load-balancer-staging/c6aabdb240600ca8 client:port myip:38255 target:port targetip:3000 request_processing_time -1 target_processing_time -1 response_processing_time -1 elb_status_code 502 target_status_code - received_bytes 360 sent_bytes 277 "request" "GET https://api.myapp.com:3000/rest/health HTTP/1.1" "user_agent" "PostmanRuntime/7.29.0" ssl_cipher <some text>-SHA256 ssl_protocol TLSv1.2 target_group_arn arn:aws:elasticloadbalancing:eu-west-1:myaccountnumber:targetgroup/myapp-blue-target-staging/id "trace_id" "Root=1-63e6568c-7c78be0f1e967e59370fbb80" "domain_name" "api.myapp.com" "chosen_cert_arn" "arn:aws:acm:eu-west-1:myaccountnumber:certificate/certid" matched_rule_priority 0 request_creation_time 2023-02-10T14:37:00.096000Z "actions_executed" "forward" "redirect_url" "-" "error_reason" "-" "target:port_list" "172.31.2.112:3000" "target_status_code_list" "-" "classification" "Ambiguous" "classification_reason" "UndefinedContentLengthSemantics"
目前所有配置里的端口都是3000,HTTPS配置也都一致,证书也匹配,但我完全找不到问题根源,也不知道该怎么调试健康检查失败的原因,实在是没头绪了,希望各位能给我一些排查方向或者解决方案,谢谢大家!
备注:内容来源于stack exchange,提问作者Gergő Horváth
相关产品推荐
相关产品推荐

