ПРОЕКТЫ 


  АРХИВ 


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



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@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.