Назад | Перейти на главную страницу

Проблемы с установкой cookie с машины, проксированной nginx

Для моего проекта мне нужно подключить длинную цепочку машин, которые по сути проксируют HTTP-запросы друг для друга. Это выглядит так:

Веб-клиент - A - B / C - D

Когда запрос делается из браузера, он сначала проходит через тонкий уровень прокси-сервера PHP, расположенный на локальном компьютере пользователя, целью которого является устранение осложнений с междоменными запросами и т. Д. Он прокси-сервер на машину B - просто экземпляр nginx, который перезаписывает URL-адрес и прокси на C. C делает некоторые необходимые изменения, прежде чем проксировать D, получить ответ и вернуть его обратно веб-клиенту. D - это API удаленной службы, к которому нельзя прикоснуться.

У меня проблемы с настройкой файла cookie сеанса на компьютере C, который полностью соответствует исходному запросу. Хотя установка файла cookie возможна, при появлении нового запроса он не отображается в инспекторе сети Chrome, а узел C возвращает исключение nullpointerexception, когда я пытаюсь получить значение из явно несуществующего файла cookie.

Я полагаю, это сводится к настройке способа проксирования запросов nginx.

Проверьте, есть ли у вас следующие настройки в конфигурации nginx на C в блоке server {}:

    proxy_pass_header  Set-Cookie;
    proxy_pass_header  P3P;

этого было бы достаточно для передачи файлов cookie.