ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



On Wed, May 13, 2009 at 01:02:11PM +0400, Илья Винокуров wrote:

> 
> 
> -----Original Message-----
> From: Yura Beznos <nginx@xxxxxxxxxxx>
> To: nginx-ru@xxxxxxxxx
> 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



 




Copyright © Lexa Software, 1996-2009.