Re: Реверс прокси с параметрами
Александр Горбань
alex.gorban at gmail.com
Wed Aug 12 10:07:17 MSD 2009
Возникла необходимость сделать подобное проксирование и для POST запросов.
Есть какой-нибудь способ выхватывать из пост запроса параметры ip и port?
2009/8/4 Igor Sysoev <is at rambler-co.ru>
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090812/5bbdadf6/attachment.html>
More information about the nginx-ru
mailing list