У меня есть приложение nodejs express, которое находится за обратным прокси-сервером nginx.Все работает как надо, за исключением того, что когда я пытаюсь установить куки в ответе, 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);
});
С этим кодомЖурнал nodejs не показывает никаких ошибок, и фактически показывает этот запрос как возвращающий 302, как и должно быть.Однако в браузере я получаю страницу 502 Nginx.
Когда я удаляю операторы res.cookie
из кода выше, перенаправление работает нормально.
Конфигурация Nginx:
server {
listen 443 ssl;
server_name my.server.com;
ssl_certificate /my/ssl/cert;
ssl_certificate_key /my/ssl/key;
location / {
proxy_pass http://localhost:3001;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
}