ПРОЕКТЫ 


  АРХИВ 


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: eval module 1.0.1



А если вы удалите 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;
}

2009/6/26 Valery Kholodkov <valery+nginxru@xxxxxxxxxxx>:
> 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@xxxxxxxxx>написал:
>>>
>>>> Офигенно, Валерий, спасибо вам.
>>>>
>>>> У нас есть специальный сервис (на тредах), который долбится в базу для
>>>> авторизации клиента *и проксирует запрос* на другие внутренние
>>>> сервисы. С вашим модулем, похоже, работу проксирования можно
>>>> наконец-то поручить nginx.
>>>>
>>>> Только есть маленькая проблема. proxy_pass проксирует запрос, который
>>>> пришёл от клиента. А нужно составлять новый запрос. В частности, от
>>>> клиента может придти POST, а нужен GET. Урл-то можно изменить в
>>>> proxy_pass. А метод?
>>>>
>>>> 2009/6/26 Valery Kholodkov
>>>> <valery+nginxru@xxxxxxxxxxx<valery%2Bnginxru@xxxxxxxxxxx>
>>>>>
>>>>> :
>>>>>
>>>>> Здравствуйте!
>>>>>
>>>>> Новый модель для преобразования ответа от проксированного сервера или
>>>>> 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@xxxxxxxxxxx
>>
>
>
> --
> Best regards,
> Valery Kholodkov
>
>


 




Copyright © Lexa Software, 1996-2009.