使用Nginx向Node.js进行反向代理发送Cookie时返回502

时间:2019-05-02 15:08:05

标签: node.js express nginx

我有一个位于nginx反向代理后面的nodejs express应用程序。一切正常,但当我尝试在响应上设置cookie时,nginx返回502页。

这是相关的路线代码:

let pictureURL = hhmessages[indexPath.row]["uploadpath"] as? String

使用此代码,nodejs日志不会显示任何错误,并且实际上显示此请求应返回了302。但是在浏览器中,我得到了Nginx的502页面。

当我从上面的代码中删除officeAuth.getToken(req.query.code).then((data) => { const key = jwt.sign({access_token: data.access_token}, process.env.JWT_PRIVATE_KEY); const refreshKey = jwt.sign({refresh_token: data.refresh_token}, process.env.JWT_PRIVATE_KEY); res.cookie('token', key, {maxAge: data.expires_in * 24000, httpOnly: true}); res.cookie('refresh', refreshKey, {maxAge: data.expires_in * 24000, httpOnly: true}); res.redirect(process.env.APP_HOME_PAGE); }, (err) => { res.status(500).send(err); }); 语句时,重定向工作正常。

Nginx配置:

res.cookie

1 个答案:

答案 0 :(得分:1)

原来我的cookie太大了,nginx无法处理,所以我通过添加以下内容来增加标题大小限制:

proxy_buffers         8 16k;
proxy_buffer_size     16k;

location /块。