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

Google OAuth生产环境redirect_uri_mismatch错误求助(AWS部署)

解决Google OAuth redirect_uri_mismatch(HTTP/HTTPS协议不匹配)问题

问题根源

AWS ELB完成了HTTPS终止,但后端应用未识别到用户实际使用的HTTPS协议,仍生成HTTP协议的redirect_uri,导致与Google配置的HTTPS URI不匹配,触发错误。

具体解决步骤:

  • 启用ELB的X-Forwarded-Proto头部转发
    登录AWS控制台,找到你的Application Load Balancer,检查监听器配置,确保已开启转发X-Forwarded-Proto头部(ALB默认启用,但需确认未被修改)。该头部会将用户实际使用的协议(HTTPS)传递给后端应用。

  • 配置后端应用信任转发头部
    以Django(从路径推测可能使用django-allauth)为例,在settings.py中添加以下配置:

    SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
    USE_X_FORWARDED_HOST = True
    

    其他框架对应配置:

    • Flask:使用werkzeug.middleware.proxy_fix.ProxyFix中间件,设置x_proto=1
    • Express:开启trust proxy配置,让应用信任ELB的IP,从而识别X-Forwarded-Proto头部
  • 核对Google OAuth凭证
    再次确认Google Cloud Console中,Production状态的OAuth客户端凭证里,重定向URI准确为https://vya.daotao.ai/auth/complete/google-oauth2/,注意大小写、结尾斜杠等细节,避免拼写错误。

  • 重置应用与客户端缓存
    重启后端应用服务,清除测试浏览器的缓存和Cookie,避免旧的HTTP配置残留导致的URI生成错误。

  • 检查ELB与后端的通信协议
    确保ELB到后端实例的通信使用HTTP(无需后端配置HTTPS),只要后端正确处理X-Forwarded-Proto头部即可,避免后端强制HTTPS引发协议冲突。

内容的提问来源于stack exchange,提问作者Huy Vu The

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:58:16