Возможно ли удаление кукисов в запросе перед проксированием на бекенд?
Igor Sysoev
is at rambler-co.ru
Wed May 13 13:14:28 MSD 2009
On Wed, May 13, 2009 at 01:02:11PM +0400, Илья Винокуров wrote:
>
>
> -----Original Message-----
> From: Yura Beznos <nginx at you-ra.info>
> To: nginx-ru at sysoev.ru
> Date: Wed, 13 May 2009 12:25:27 +0400
> Subject: Re: Возможно ли удаление кукисов в запросе перед проксированием на бекенд?
>
> > Не совсем понял.
> > Можете пример привести?
> > В моём случае POST запрос короткий(не более 1000 символов).
>
> > > В принципе, если сделать тело запроса доступным через переменную
> > > $request_body, то можно
> > > http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_cache_key
> > > Но тут возникает вопрос с размерам тела, его нужно ограничивать разумными
> > > пределами.
>
> Расшифровываю: Предлагается во внутренностях nginx переделывать Ваш POST запрос в "GET" с помощью переменной $request_body. Конечно сравнение не совсем корректное, но суть примерно та же.
>
> В результате Игорь офигевает - POST запрос может быть длинным, поэтому его стоит ограничить 8к символами, как это сделано в апаче для GET запросов. Или стоит ввести хеш функцию MD5($request_body), которая будет гарантированно конечной длины.
Хэш от $request_body делать не нужно. proxy_cache_key сам посчитает это хеш.
Вопрос лишь в том, что всё тело должно быть в памяти, поэтому и нужно
ограничение.
> Кстати, про MD5() и CRC32() функции - очень хочется их поиметь в конфиге, чтобы в nginx иметь возможность вычислять адрес бекенда по содержимому переменной, например $cookie_email ..
С ними такая проблема, их хорошо бы сделать как-то в виде
set $aaaa $md5($...);
а парсер пока такое не позволяет. Делать по-другому - не хочу.
> А у меня возникает недоумение - почему Вам не достаточно 8к символов в GET запросе и Вы упорно хотите кешировать POST запрос?
>
> Про 8к символов - эта цифра вбита в апаче по-умолчанию и все, что связано с HTTP, старается эту цифру уважать.
>
> С почтением,
> Илья Винокуров.
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list