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

生产环境(AWS)中Google OAuth 2.0 auth/callback 404错误求助

Google登录生产环境(AWS)404问题排查方案

以下是针对开发环境正常、AWS生产环境/auth/callback返回404的核心排查方向:

1. 回调地址的Google OAuth配置遗漏

Google OAuth要求生产环境的回调地址必须提前在Cloud Console中注册,哪怕代码配置和开发环境一致,只要生产域名的回调地址没加入「已授权的重定向URI」列表,就会触发异常重定向。

  • 登录Google Cloud Console,进入「API和服务」→「凭据」
  • 找到对应的OAuth 2.0客户端ID,检查「已授权的重定向URI」是否包含生产环境的完整地址(比如https://your-production-domain.com/auth/callback),注意协议(HTTPS)、域名、路径必须完全匹配,且区分大小写

2. AWS路由/反向代理配置错误

如果你的Node.js后端通过AWS ALB、CloudFront或Nginx反向代理对外提供服务,可能存在路由转发规则缺失:

  • 若使用AWS ALB:检查监听规则,确认/auth/callback路径的请求被正确转发到后端Node.js服务的端口
  • 若使用Nginx:确保配置文件中存在对应路由的转发规则,示例:
location /auth/callback {
    proxy_pass http://localhost:3001; # 替换为你的后端端口
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
}
  • 若使用CloudFront:检查行为设置,确保/auth/callback路径被转发到 origin(你的后端服务),而非被当作静态资源处理

3. HTTP到HTTPS的重定向参数丢失

Google OAuth仅允许localhost使用HTTP,生产环境必须用HTTPS。如果你的AWS配置了HTTP到HTTPS的强制重定向,可能导致code参数或路径在重定向过程中丢失:

  • 检查ALB的重定向规则,确保勾选「保留原始查询字符串」选项
  • 确认后端Node.js服务能正确读取X-Forwarded-Proto等反向代理头,避免因协议判断错误导致路由匹配失败

4. 前端回调地址硬编码错误

前端React代码中构造Google授权URL时,redirect_uri参数可能仍指向localhost,而非生产域名:

  • 检查前端代码中生成授权URL的逻辑,建议通过环境变量动态设置回调地址,示例:
const redirectUri = process.env.REACT_APP_GOOGLE_REDIRECT_URI;
const authUrl = `https://accounts.google.com/o/oauth2/v2/auth?client_id=${clientId}&redirect_uri=${encodeURIComponent(redirectUri)}&response_type=code&scope=${scopes}`;
  • 确认生产环境的环境变量已正确配置为生产域名的回调地址

5. AWS安全组/防火墙限制

检查AWS服务器的安全组规则,确保:

  • 后端Node.js服务的端口允许来自负载均衡器或外部的访问
  • 负载均衡器的安全组允许80/443端口的入站流量,且能转发到后端端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:01:16