You need to enable JavaScript to run this app. 运行sls create_domain配置Lambda自定义域名时报403无法获取域名信息
优惠活动
大模型
产品
解决方案
定价
更多

运行sls create_domain配置Lambda自定义域名时报403无法获取域名信息

Lambda API 配置自定义域名报错排查指南

现有操作与报错现象

  • 已安装serverless-domain-manager插件
  • 已在AWS控制台手动创建uat-api.mydomain.com自定义域名、配置对应DNS解析记录
  • 已在serverless.yml中添加自定义域名相关配置
  • 执行sls create_domain时触发报错:
    [AWS apigatewayv2 403 3.044s 0 retries] getDomainName({ DomainName: ‘uat-api.mydomain.com’ })
    Error: Unable to fetch information about uat-api.mydomain.com
    

核心问题点与修正方案

  • 配置文件语法与格式错误
    • 配置块缩进不规范:customDomain需要作为custom的子级做2-4空格缩进,现有写法中customDomain与custom层级边界模糊、属性与父级同名块同缩进,会导致插件完全读不到自定义配置
    • 特殊字符问题:endpointType: ‘regional’使用的是中文全角单引号,不是标准英文半角引号,会导致配置值解析异常
  • 身份权限与区域不匹配
    • 报错中apigatewayv2 403返回的本质,是当前执行Serverless命令的AWS身份,没有权限在目标区域调用API Gateway的域名查询接口:
      • 检查当前使用的AWS凭证对应的IAM角色/用户,是否包含apigatewayv2:GetDomainName、apigateway:GET、route53:GetHostedZone、route53:ChangeResourceRecordSets权限
      • 确认运行Serverless命令选择的AWS区域,和手动创建自定义域名、托管ACM证书的区域完全一致,跨区域访问API Gateway资源时会触发403
  • 资源类型不匹配
    • 插件会根据配置的apiType: rest自动选择调用REST API(apigatewayv1)的接口拉取域名信息,但报错日志显示插件实际调用的是apigatewayv2的接口,说明手动创建的自定义域名是HTTP API类型,和配置的REST API类型不匹配
    • 检查配置的certificateArn对应的ACM证书,是否处于已颁发状态、且和自定义域名同区域,证书和域名不匹配时也会触发拉取失败
  • 插件运行逻辑冲突
    • serverless-domain-manager的create_domain命令设计为自动创建全新的自定义域名资源,如果已经在控制台手动创建过同名域名,插件在拉取域名信息时发现配置项不一致,就会触发报错
    • 若已经手动完成自定义域名创建和DNS配置,不需要执行sls create_domain,只需要在部署流程中配置API映射即可,无需重复创建资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 22:36:00