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

AWS Amplify邮箱注册验证链接404 报NoSuchWebsiteConfiguration问题

问题根因

该问题属于配置遗漏导致,触发NoSuchWebsiteConfiguration报错的核心原因是Cognito用户池默认生成的验证链接指向了未配置静态网站托管的S3资源端点,请求没有正确转发到你的Amplify托管应用,同时缺少对应路由适配规则,才会出现404、用户始终处于未验证状态的问题。
报错参考:
NoSuchWebsiteConfiguration报错截图

修复步骤
  • 修正Cognito用户池验证链接配置
    进入AWS控制台找到绑定Amplify应用的目标Cognito用户池,打开「消息模板」配置页,找到注册验证邮件模块,将默认的Cognito原生验证链接替换为你Amplify应用的正式域名下的自定义验证路径,例如https://你的应用部署域名/confirm,同时开启将验证码、用户名作为URL参数拼接在跳转链接后的配置,避免请求直接打到Cognito默认的无效资源端点。
  • 配置Amplify托管路由重写规则
    进入Amplify控制台对应应用的「托管-重写和重定向」页面,添加SPA通用路由重写规则,避免前端框架客户端路由被Amplify判定为不存在的资源返回404:
    • 源地址:</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|ttf|map|json)$)([^.]+$)/>
    • 目标地址:/index.html
    • 响应类型:200 (Rewrite)
  • 适配前端验证逻辑
    在前端项目中添加/confirm路径对应的路由页面,页面加载时从URL参数中提取验证码、用户名,调用Amplify Auth提供的确认注册接口完成验证,参考代码:
    import { Auth } from 'aws-amplify';
    
    const params = new URLSearchParams(window.location.search);
    const verifyCode = params.get('code');
    const username = params.get('username');
    
    // 页面初始化时执行验证
    const confirmUser = async () => {
      try {
        await Auth.confirmSignUp(username, verifyCode);
        // 验证完成后跳转至登录页
      } catch (error) {
        // 处理验证码过期、参数错误等异常场景
      }
    }
    confirmUser();
    
校验方式

配置完成后重新发起注册流程,点击邮件内的验证链接会直接跳转至你自定义的应用验证页,自动完成账号核验,Cognito用户池内对应用户的状态会从「未验证」更新为「已确认」,不会再出现404和对应S3配置报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 12:54:32