Объедините набор-cookie-заголовков двух прокси-серверов - PullRequest
0 голосов
/ 28 июня 2019

Мы настроили обратный прокси-сервер nginx для обработки запросов, поступающих на наш сервер приложений. Если страница не найдена на сервере приложений, сервер возвращает 404, и мы отправляем запрос на наш cms-сервер, ища там страницу. Эта настройка работает до сих пор, но у нас есть проблемы, когда оба прокси-сервера (приложение и cms) отправляют заголовок «Set-Cookie» в ответе, когда страница не найдена на сервере приложения. Клиенту отправляются только файлы cookie с сервера cms.

Можно ли даже объединить заголовки "Set-Cookie" обоих прокси-серверов? И если да, то как это делается?

Мы думали отправить заголовки ответов set-cookie с сервера приложений на сервер cms, а затем и их туда другим cookie-файлам, которые отправляются клиенту.

proxy_set_header App-Cookies $http_set_cookie;

Но заголовки set-cookie не передаются на сервер cms.

server {
    listen 443;

    ...

    location / {

        proxy_pass http://app;
        proxy_pass_header Set-Cookie;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;

        proxy_connect_timeout       120;
        proxy_send_timeout          120;
        proxy_read_timeout          120;
        send_timeout                120;

        error_page   404  = @cms;

        proxy_intercept_errors on;

    }

    location @cms {

        proxy_pass http://cms;
        proxy_pass_header Set-Cookie;
        proxy_set_header Host $host:8081;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Scheme on;

        # not working
        proxy_set_header App-Cookies $http_set_cookie;

        proxy_redirect http:// $scheme://;

   }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...