You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Обратите внимание, что nginx поддерживает просмотр файлов cookie, которые клиент отправляет ему (в заголовке запроса Cookie) по схеме $cookie_name.
Если вы хотите ограничить отправку клиентом только определенных файлов cookie, вы можете легко перестроить заголовок Cookie на основе этих переменных и отправить только те из них, которые вы хотите, в восходящий поток (используя proxy_set_header , как указано выше).
Или вы даже можете принимать решения на основе куки-файлов, чтобы решить, какому восходящему потоку отправить запрос, или иметь per-user/per-session proxy_cache_key , или принимать решения по контролю доступа на основе куки-файлов.
Set-Cookie из бэкэнда
Что касается восходящей отправки обратно файлов cookie, то вы, конечно, можете решить заблокировать их все, чтобы значительно улучшить характеристики кэширования (если это применимо к вашему приложению или его частям), или исправить домен и/или путь с помощью proxy_cookie_domain и/или proxy_cookie_path соответственно.
В противном случае, как правило, слишком поздно принимать какое — либо другое решение о маршрутизации — запрос уже обработан выбранным вышестоящим сервером, и ответ готов к подаче-поэтому, естественно, нет никакого способа заглянуть в эти отдельные файлы cookie Set-Cookie обычными средствами в nginx (если вы не хотите использовать сторонние модули, или lua, или perl), так как уже было бы слишком поздно принимать какие-либо важные решения о маршрутизации для завершенного запроса.
В принципе, эти файлы cookie Set-Cookie имеют больше общего с содержимым, чем с тем, как они обслуживаются или маршрутизируются, поэтому не представляется целесообразным иметь интегрированную функциональность для изучения их через nginx.
(Если вам действительно нужно принимать решения о маршрутизации после завершения запроса, то nginx поддерживает X-Accel-Redirect, а также некоторые другие специальные заголовки.)
Если ваша проблема заключается в безопасности, то, как я уже указывал выше, вышестоящий разработчик уже может использовать JavaScript для установки ANY дополнительных файлов cookie, как он хочет, поэтому, по сути, попытка использовать nginx для ограничения некоторых, но не всех ответов Set-Cookie с сервера является своего рода бессмысленной попыткой в реальном мире (поскольку вряд ли существует какая-либо разница между файлами cookie, установленными через JavaScript, по сравнению с Set-Cookie ).