Для моего проекта мне нужно подключить длинную цепочку машин, которые по сути проксируют 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.