Passport.js express google oauth 在nginx上出现502 Bad Gateway错误。
Passport.js express google oauth 在nginx上出现502 Bad Gateway错误。
我正在尝试使用passport.js为Express.js应用程序实现简单的Google OAuth,按照这个指南进行操作(只需将facebook
替换为google
)https://github.com/passport/express-4.x-facebook-example/blob/master/server.js
当我在本地尝试时,一切似乎都正常。当我将其部署到我的Ubuntu生产服务器时,在从Google重定向回/login/google/return
终点时,出现502 Bad Gateway
错误。
app.get('/login/google/return', passport.authenticate('google', { failureRedirect: '/login' }), function(req, res) { res.redirect('/'); });
如果我注释掉passport.authenticate(\'google\', {..})
这一行,则错误会消失。在检查nginx错误日志时,我看到了这个错误
upstream sent too big header while reading response header from upstream
这是nginx的服务器配置块:
location /auth/ { proxy_pass http://0.0.0.0:3000/; }
这意味着我将通过转到https://example.com/auth/login/google
进行Google登录,被重定向到https://example.com/auth/login/google/return?code=4/adasfdafdsfd#
,然后发生502错误。
我尝试在我的OS X开发机上设置类似的nginx环境,但问题在那里并没有发生。
我还尝试添加以下内容到nginx块配置,但也没有帮助
proxy_buffers 8 16k;
我已经尽力解决这个问题了。任何人的建议都将不胜感激。这是我的项目链接到目前为止https://github.com/tnguyen14/auth/blob/master/index.js
admin 更改状态以发布 2023年5月24日