proxy_cookie_path
Директива 'proxy_cookie_path' изменяет атрибут 'Path' заголовков 'Set-Cookie' в проксируемых ответах.
Описание
Директива 'proxy_cookie_path' используется в конфигурациях NGINX, где ответы проксируются на бэкенд-сервер. Ее основная функция — корректировать атрибут 'Path' заголовков 'Set-Cookie', возвращаемых проксируемым сервером. Это полезно для того, чтобы куки отправлялись только на нужные URL по определенным путям, повышая безопасность и функциональность в ситуациях, когда путь куки проксируемого сервера не соответствует структуре URL сервера NGINX.
Эта директива может принимать один или два аргумента. Первый аргумент — исходный путь куки, который обычно встречается в заголовках 'Set-Cookie' ответа. Второй аргумент — новый путь, который должен заменить исходный. Если указан только один аргумент, это означает, что все куки с этим исходным путем будут заменены на новый путь по умолчанию. Когда указаны оба аргумента, воздействию будут подвергаться только куки, точно соответствующие исходному пути. Директива действует в нескольких контекстах, включая 'http', 'server' и 'location', что делает ее универсальной для различных областей конфигурации.
Поведение директивы 'proxy_cookie_path' также допускает использование нескольких директив для разных путей, позволяя делать несколько деклараций с определенным поведением, что обеспечивает тонкий контроль над тем, как куки от бэкенд-сервера обрабатываются в отношении их путей URL на фронтенд-сервере NGINX.
Пример конфига
location /api {
proxy_pass http://backend;
proxy_cookie_path /myapp /;
}Убедитесь, что исходный путь совпадает с атрибутом Path у заголовков, которые вы хотите изменить.
Использование неверных путей может привести к тому, что куки не будут отправлены в браузер, что повлияет на пользовательские сессии.
Чрезмерное использование этой директивы может привести к путанице, если разные пути будут изменены ненадлежащим образом.