перенаправление файлов cookie обратного прокси-сервера nginx

#node.js #reactjs #docker #nginx #heroku

Вопрос:

у меня есть 3 приложения heroku

  1. интерфейс реагирует
  2. внутренний узел
  3. обратный прокси-сервер nginx

  1. вызовы обратного прокси-сервера/api/?(.*) не приветствуются серверной частью
  2. остальные все вызовы обратного прокси-сервера перенаправляются на интерфейс

код /etc/nginx/conf.d/default.conf

 upstream frontend {
    server $FRONTEND_URL;
}

upstream backend {
    server $BACKEND_URL;
}

server {
    listen $PORT;

    location / {
        proxy_pass http://frontend;
        proxy_set_header Host $FRONTEND_URL;
    }

    location /api {
        rewrite /api/(.*) /$1 break;
        proxy_pass http://backend;
        proxy_set_header Host $BACKEND_URL;
    }

}
 

вопрос

я использую файл cookie для аутентификации, но файл cookie, установленный серверной частью, не «пересылается»

мой код


теперь это работает, изменения, которые я внес:

  1. изменение на secure: false в моем приложении узла сделало это за меня (возможно, позже добавит сертификат tls)
  2. предложенное исправление @mariolu

теперь это выглядит так

 location /api {
    rewrite /api/(.*) /$1 break;
    proxy_pass http://backend;
    proxy_set_header Host $BACKEND_URL;
    proxy_set_header Cookie $http_cookie;
}
 
  1. app.set("trust proxy", true);

Ответ №1:

Вам нужно добавить

 proxy_set_header Cookie $http_cookie;
 

в конфигурации местоположения.
Переменная $http_cookie-это файл cookie запроса пользователя.

Комментарии:

1. извините, я немного новичок… в локальной конфигурации? мой режим разработки работает (с помощью docker-compose up)