eval module 1.0.1

Nikolay Sivko n.sivko at gmail.com
Fri Jun 26 16:42:52 MSD 2009


Sergey Shepelev пишет:
> А если вы удалите Content-Length после создания подзапроса, nginx не
> потеряет возможности спроксировать оригинальный запрос?
>
> Мне нужно примерно такое:
>
> location /api {
>   eval $access_status {
>     proxy_pass http://access-checker/access?client=$ssl_client_s_dn;
>   }
>   if ($access_status != "ok") {
>     return 403;
>   }
>   proxy_pass http://internal-api;
> }
>
>   
Мне кажется для такой задачи лучше использовать X-Accel-Redirect.
> 2009/6/26 Valery Kholodkov <valery+nginxru at grid.net.ru>:
>   
>> Maxim Dounin пишет:
>>     
>>> Hello!
>>>
>>> On Fri, Jun 26, 2009 at 07:30:08AM +0400, Борис Долгов wrote:
>>>
>>>       
>>>> proxy_method GET;
>>>> proxy_pass_request_body off;
>>>>
>>>> Да, тоже недокументировано :(
>>>>         
>>> И кстати недостаточно, т.к. заголовки уйдут от оригинального запроса, в
>>> них будет Content-Length, и бекенд сойдёт с ума.
>>>       
>> Идея хорошая. Content-Length после создания подзапроса надо будет удалять.
>>
>> В остальном, по-умолчанию должен наблюдаться эффект этих двух директив,
>> поскольку в подзапросе метод заменяется на GET.
>>
>>     
>>> Maxim Dounin
>>>
>>>       
>>>> 26 июня 2009 г. 3:29 пользователь Sergey Shepelev
>>>> <temotor at gmail.com>написал:
>>>>
>>>>         
>>>>> Офигенно, Валерий, спасибо вам.
>>>>>
>>>>> У нас есть специальный сервис (на тредах), который долбится в базу для
>>>>> авторизации клиента *и проксирует запрос* на другие внутренние
>>>>> сервисы. С вашим модулем, похоже, работу проксирования можно
>>>>> наконец-то поручить nginx.
>>>>>
>>>>> Только есть маленькая проблема. proxy_pass проксирует запрос, который
>>>>> пришёл от клиента. А нужно составлять новый запрос. В частности, от
>>>>> клиента может придти POST, а нужен GET. Урл-то можно изменить в
>>>>> proxy_pass. А метод?
>>>>>
>>>>> 2009/6/26 Valery Kholodkov
>>>>> <valery+nginxru at grid.net.ru<valery%2Bnginxru at grid.net.ru>
>>>>>           
>>>>>> :
>>>>>>
>>>>>> Здравствуйте!
>>>>>>
>>>>>> Новый модель для преобразования ответа от проксированного сервера или
>>>>>> memcached в значение одной или нескольких переменных.
>>>>>>
>>>>>> Возможное применение:
>>>>>>  * хранение сессий в memcached
>>>>>>  * нахождение узла или кластера, отвечающего за ресурс
>>>>>>  * много других
>>>>>>
>>>>>> Подробности на этой странице:
>>>>>>
>>>>>> http://www.grid.net.ru/nginx/eval.ru.html
>>>>>>
>>>>>> Пишите если возникнут проблемы!
>>>>>>
>>>>>> Модуль разработан по заказу компании GG Network S.A. (gadu-gadu.pl).
>>>>>>
>>>>>> --
>>>>>> Best regards,
>>>>>> Valery Kholodkov
>>>>>>
>>>>>>
>>>>>>             
>>>> --
>>>> С уважением, Борис Долгов.
>>>> icq 77556665
>>>> e-mail boris at dolgov.name
>>>>         
>> --
>> Best regards,
>> Valery Kholodkov
>>
>>
>>     






More information about the nginx-ru mailing list