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

使用AWS Copilot部署NLB 443/tls端口HTTPS服务失败求助

AWS Copilot NLB HTTPS服务访问挂起排查思路

1. 证书有效性与关联检查

  • 确认ACM证书状态为Issued(已验证通过),且证书覆盖域名包含Copilot生成的NLB域名
  • 检查NLB的443端口监听是否正确关联该ACM证书,避免选错或未关联证书

2. NLB监听与目标组配置核查

  • 验证NLB 443端口监听协议为TLS,目标组协议与服务容器端口匹配(容器仍监听80的话,目标组协议设为HTTP,由NLB终止TLS)
  • 确认目标组健康检查配置正确:路径、端口和服务实际健康检查端点一致,目标组状态为healthy(健康检查失败的话,NLB不会转发流量)
  • 用nslookup或dig检查Copilot提供的URL,确认能解析到NLB的IP

3. 网络层(安全组/网络ACL)排查

  • NLB安全组:放行443端口的入站流量(来源设为0.0.0.0/0或指定网段)
  • ECS任务安全组:允许NLB所在安全组访问容器监听的端口(比如80端口)
  • 子网网络ACL:入站规则放行443端口,出站规则放行服务必要的对外流量(如ACM证书验证、服务依赖流量)

4. Copilot配置文件校验

  • 检查copilot/service/manifest.yml的端口配置,确保TLS规则正确,示例:
    http:
      path: '/'
      port: 80
      tls:
        certificates:
          - arn:aws:acm:region:account-id:certificate/cert-id
    
    或端口数组配置:
    ports:
      - port: 443/tls
        target_port: 80
    
  • 排查配置中是否存在端口规则冲突,比如同时配置80和443但未做跳转,或TLS配置遗漏

5. 服务容器与日志排查

  • 通过ECS Exec进入容器,用netstat -tulpn或ss -tulpn检查容器是否正常监听目标端口
  • 查看CloudWatch Logs中的ECS任务日志:确认服务启动正常,是否有NLB转发的请求日志,或报错信息
  • 在VPC内部直接访问容器私有IP+端口,验证服务本身能正常响应,排除服务自身问题

6. 客户端侧排查

  • 执行curl -v https://your-nlb-url查看请求过程:
    • TCP连接超时:大概率是网络层(安全组/ACL)问题
    • TLS握手失败:检查证书是否不被信任,或NLB的TLS配置(协议版本、加密套件)是否与客户端兼容
  • 尝试在VPC内的EC2实例上访问,排除本地网络或防火墙干扰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:57:08