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

如何在AWS上实现新商户注册自动生成子域名指向单个ECS上的Next.js应用

整体架构设计

核心逻辑是靠通配符DNS+通配符SSL证书覆盖所有平台分配的子域名,不需要为每个新商户单独操作DNS和证书配置,大幅降低运维复杂度

  • DNS层:为主域名(假设为yourplatform.com)添加一条通配符解析记录*.yourplatform.com,解析指向你的流量入口(AWS ALB应用负载均衡或CDN节点)。
  • 流量接入层:使用AWS ALB作为统一入口,监听80/443端口,在AWS Certificate Manager中申请免费的通配符SSL证书*.yourplatform.com绑定到ALB的443监听器上,自动续期无需手动维护。ALB配置默认转发规则,将所有域名的请求都转发到运行Next.js应用的ECS服务目标组。
  • 应用层:Next.js应用侧增加子域名识别逻辑,可在Middleware层统一处理:
    // Next.js App Router 示例代码
    const host = request.headers.get('host') || ''
    const subdomainSlug = host.split('.')[0] // 从x-beauty.yourplatform.com中提取x-beauty
    
    提取到子域名前缀后,查询商户数据库获取对应店铺的配置、装修数据等,渲染对应店铺页面即可。提前维护平台保留子域名黑名单(如www、admin、api、help等),禁止商户注册使用避免冲突。
  • 数据层:商户表新增subdomain_slug(子域名前缀,唯一索引)、is_subdomain_active(子域名是否生效)两个字段,用于应用侧校验和查询。

新商户注册时的自动配置流程

  • 注册校验:商户提交店铺信息时,后端先做三重校验:子域名前缀格式校验(仅允许小写字母、数字、横杠,长度合规)、是否属于保留子域名黑名单、是否已被其他商户占用,全部通过才可进入下一步。
  • 数据入库:校验通过后将商户信息、subdomain_slug写入数据库,将is_subdomain_active设为true即可,无需额外操作DNS、负载均衡、证书等资源,子域名实时生效。
  • 异常兜底:Next.js应用侧增加校验逻辑,若提取到的子域名前缀无法匹配到已激活的商户,直接返回404页面或平台引导页即可。
  • 扩展说明:如果后续支持商户绑定自定义独立域名,才需要额外做自定义域名的证书签发、ALB规则添加等操作,平台分配的子域名完全无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:18:03