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

部署在AWS的SvelteKit+AuthJS出现UntrustedHost错误求助

解决SvelteKit + AuthJS部署AWS Elastic Beanstalk时的UntrustedHost错误

可能的原因及解决步骤

1. 验证环境变量是否正确生效

  • 登录AWS控制台,进入你的Elastic Beanstalk环境,导航到配置 > 软件 > 环境变量,确认AUTH_TRUST_HOST已添加且值为true。
  • 在应用中添加调试代码验证环境变量读取情况,比如在hooks.server.ts中加入:
console.log("AUTH_TRUST_HOST:", process.env.AUTH_TRUST_HOST);

部署后查看EB日志,确认输出为true。

2. 配置Nginx传递正确的转发头

AWS Elastic Beanstalk默认的Nginx配置可能未正确传递主机和协议头,导致AuthJS无法识别可信主机。创建.ebextensions/nginx.conf文件,添加以下配置:

files:
  "/etc/nginx/conf.d/00_forwarded_headers.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Forwarded-For $remote_addr;

该配置会让Nginx将真实的主机、协议等信息传递给SvelteKit应用,确保AuthJS能正确识别请求来源。

3. 统一AuthJS的trustHost配置

你的代码中已经显式设置了trustHost: true,但需确保与环境变量AUTH_TRUST_HOST的配置一致:

  • 若依赖环境变量,可移除代码中的trustHost: true,完全由环境变量控制;
  • 若保留代码中的配置,需确保环境变量值也为true,避免冲突。

4. 升级AuthJS依赖

部分旧版本的@auth/sveltekit或@auth/core可能存在环境变量处理的bug,执行以下命令升级到最新版本:

npm update @auth/sveltekit @auth/core

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:33:28