Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Реверс прокси с па раметрами
On Wed, Aug 12, 2009 at 10:07:17AM +0400, Александр Горбань wrote:
> Возникла необходимость сделать подобное проксирование и для POST запросов.
> Есть какой-нибудь способ выхватывать из пост запроса параметры ip и port?
Нет.
> 2009/8/4 Igor Sysoev <is@xxxxxxxxxxxxx>
>
> > On Tue, Aug 04, 2009 at 01:26:05PM +0400, Александр Горбань wrote:
> >
> > > ЗАДАЧА:
> > > Есть веб сервер и несколько backend серверов. Мне нужно настроить веб
> > > сервер таким образом, что бы в записимости от параметров в запросе он
> > > проксировал его на заданный backend сервер.
> > > Например: запрос http://myfront.com/index.html?ip=1.1.1.1&port=1111
> > > был проксирован к backend серверу 1.1.1.1 на порт 1111
> > > Я попытался сделать это при помощи следующей конфигурации:
> > > server {
> > > listen 80;
> > > server_name myfront.com;
> > > location / {
> > > if ($arg_ip = "") {
> > > return 400;
> > > }
> > > if ($arg_port = "") {
> > > return 400;
> > > }
> > > proxy_pass http://$arg_ip:$arg_port/;
> >
> > - proxy_pass http://$arg_ip:$arg_port/;
> > + proxy_pass http://$arg_ip:$arg_port$request_uri;
> >
> > или
> >
> > + proxy_pass http://$arg_ip:$arg_port$uri;
> >
> > > proxy_redirect default;
> > > }
> > > }
> > >
> > > Но при такой конфигурации по запросу пользователя
> > > http://myfront.com/about.html?ip=1.1.1.1&port=1111 на сервер 1.1.1.1
> > > приходит запрос http://1.1.1.1/, сервер 1.1.1.1 редиректит на
> > > http://1.1.1.1/index.html, а браузер пользователя редиректится на
> > > http://1.1.1.1/index.html
> > > Мне нужно, что бы браузер пользователя если и редиректился то только
> > > на myfront.com с параметрами ip=1.1.1.1&port=1111, что бы nginx знал,
> > > куда проксировать этот запрос.
> > >
> > > Я знаю, что можно настроить группу серверов, но мне этот вариант не
> > > подходит, потому что мне нужна гарантия, что конкретный запрос
> > > пользователя будет проксирован на конкретный сервер даже если
> > > пользователь будет делать этот запрос с разных адресов. В случае с
> > > директивой upstream такой гарантии нет.
> > >
> > > Большое спасибо за попощь!
> > >
> > > --
> > > С уважением, Горбань Александр
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >
>
>
> --
> С уважением, Горбань Александр
> телефон: +7 (904) 506-51-11
> ---
> Best regards,
> Alexander Gorban
--
Игорь Сысоев
http://sysoev.ru
|