ПРОЕКТЫ 


  АРХИВ 


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: Реверс прокси с параметра ми


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Реверс прокси с параметра ми
  • From: Александр Горбань <alex.gorban@xxxxxxxxx>
  • Date: Tue, 4 Aug 2009 17:25:48 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=KZ9MXbTVADX5Gue8YVAUmy4aGgsJNK9BbAUmDUABw4A=; b=r2SxMx4XlQg2MgNuTk08bOMQjEchi4y8p4bcGDEQ31+D+Ji71yQbnllGAeTnzbMJSc D+sN+HDeX+Qyq+v//kZ7756UNNLvslV6+N8HijU4GlD5/cDQY74duDwm1DaGv5nQU6gH ABjbTtGMkKWaLHFbxjEdZkGsvA4GYxp1IS74c=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=Hbc2udx83zXm4bPWkwbTVCOy9tKMM4WLHzm6LIxXmlh8Fwo788R8xsX66T7Oc+oVTx zzrnZhN6ryV2BqJOOvG1lEk9JrSu54jpSkf2bki0WT+2MSHI88JvRAMy9ih8zUM2Y1H3 YOuvSgGh34d6P1xTtN9UlqmIoQLGyyHFFKvbY=
  • In-reply-to: <20090804111102.GE95723@xxxxxxxxxxxxx>
  • References: <7de6acc60908040226o5ddcf63ucd1cd113cb5429be@xxxxxxxxxxxxxx> <20090804111102.GE95723@xxxxxxxxxxxxx>

Это то, что нужно! Все заработало. Большое спасибо!

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


 




Copyright © Lexa Software, 1996-2009.