Re: Как в модуле rewrite смотреть параметры переданные методом POST?

vgoncharov nginx-forum на nginx.us
Ср Май 5 00:32:55 MSD 2010


Sergey Shepelev Wrote:
-------------------------------------------------------
>> Как в модуле rewrite смотреть
>> параметры переданные
>> методом POST?

> Тут такая штука, что GET
> аргументы передаются прямо
> в строке запроса,
> а "POST-аргументы"
> (технически, на уровне HTTP
> такого понятия нет)

А GET-аргументы в rfc2616 есть?
С другой стороны, кук там точно нет. Ну и что?
HTML Forms же есть, и описана на w3.org.


> Это почему по-умолчанию
> просто так из
> коробки не работает
> ожидаемое. Но технические
> причины никому не
> интересны.

Мне не понятно, что мешает распарсить body для Content-rype: application/x-www-form-urlencoded? Возможный размер body? В nginx же есть буфферизация при получении ответа от проксируемого сервера. А что мешает иметь буферизацию запроса от клиента? Или она есть?

Все-таки что тут технически невозможного мне не понятно. Может быть сложного или не приоритетного - это было бы понятнее.

> Правильно будет либо
> сделать обработчик на
> перле, либо написать
> маленький бекенд на любом
> приятном вам языке,

Про простенький бакенд не догоняю.

Это как? nginx получает запрос и отсылает на "простой" баккенд, а тот выбирает правильную конфигурацию и шлет запрос снова на nginx, но на нужный uri. Так?

> либо (это неправильный
> способ. Серьёзно.) смотреть
> переменную
> $request_body. В ней будет вот та
> самая полная строка p=000:00...

Вот $request_body помог бы мне справится. Мне вообще от нее первые 20 байт надо. Но говорят, что его в rewrite еще не видно.

У меня этот rewrite внутри location.

Владимир

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,82496,82623#msg-82623




Подробная информация о списке рассылки nginx-ru