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

Route53关联ECS Fargate负载均衡器后域名无法访问求助

问题排查与解决步骤

1. 检查Route53记录类型是否正确

你设置的普通A记录无法适配AWS应用负载均衡(ALB)的动态IP特性,必须使用别名(Alias)类型的A记录,将域名直接指向ALB的资源目标(而非手动填写IP)。普通A记录会固定IP地址,当ALB的IP发生变更时,域名访问会立即失效。

操作:在Route53托管区域中,修改现有A记录为别名记录,目标选择对应的ALB资源,确保关联关系正确。

2. 验证域名解析结果

用nslookup或dig命令检查域名的解析结果,确认是否与ALB的DNS解析IP一致:

nslookup your-domain.com
dig your-domain.com

如果解析结果与ALB自身DNS解析出的IP不匹配,说明Route53记录未生效或配置错误。

3. 清除DNS缓存

本地设备或公共DNS服务商的缓存可能导致域名解析未更新,可通过以下方式排查:

  • 清空本地DNS缓存:Windows执行ipconfig /flushdns,Mac执行sudo dscacheutil -flushcache
  • 切换至其他网络(如手机热点)测试访问,排除本地网络缓存干扰

4. 修正Terraform中ALB的子网配置错误

你的Terraform配置里,aws_lb资源的subnets字段传入的是CIDR地址(var.public_subnets_cidr),但该参数要求传入子网ID列表,错误配置可能导致ALB无法正常对外提供服务:

resource "aws_lb" "notes_lb" {
    name                       = "notes-api-ecs-lb"
    load_balancer_type         = "application"
    security_groups            = [var.notes_lb_security_group_id]
    # 修正:替换为子网ID变量,如var.public_subnet_ids
    subnets                    = var.public_subnet_ids
    enable_deletion_protection = false

    tags = {
        Name        = "${var.environment}-ecs-lb"
        Environment = var.environment
    }
}

修正后重新应用Terraform配置,确保ALB正确部署到公网子网。

5. 确认Route53托管区域与域名匹配

检查托管区域的域名是否与访问域名完全一致:

  • 若访问的是api.yourdomain.com,需在yourdomain.com托管区域下创建api子域名记录,或直接使用api.yourdomain.com作为托管区域域名
  • 确认托管区域的NS记录已在域名注册商处正确配置,否则域名无法解析到Route53服务器

6. 检查访问协议与ALB监听端口匹配

你的ALB仅监听80端口(HTTP协议),访问时需使用http://your-domain.com,若输入https://会因无对应监听配置而无法访问。如需HTTPS访问,需在ALB上添加443端口监听并配置SSL证书。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 12:02:12