Возможно ли удаление кукисов в запросе перед проксированием на бекенд?

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