ПРОЕКТЫ 


  АРХИВ 


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: Редирект с баланcингом


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Редирект с баланcингом
  • From: "Rauan Maemirov" <rauan1987@xxxxxxxxx>
  • Date: Fri, 26 Sep 2008 13:11:31 +0600
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=sQmoY7WGuw4Al/r7KeYxYlO5IzLyg+XlJBIVPHycLdw=; b=fwcX1elKXFwwGzNIzI3RKM9Egq4Q6E5ea2TCvjr+SPZlWighF9+GWV4DR9T2TI/XwD pfxFrXWESnKGjjyo/knSEQtYIkSzfNb+Pg+JhXN4ZzRmtIg7Nf+Ai1VwqKh81U6sQoWy A6q0nfgzlriXcpMEXP3DoPFv0qPIONj0PnFBQ=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=BRO1DFPFnoxPN8pKxQrurdjV/lxq1QsMfykC9OeGW/jQGdurKLXDtmZpzYoL9xUh7T /8BVzXELkCOPzDdvrOUGFL9H+5vDA83Pie3lHTqQ2k10GCXJdkbY1TypU3PYdKBSOpuD G3MqX1WBGTOpHfWuuSFkkGiaAM1QY+yIHaNyk=
  • In-reply-to: <20080925145203.GM71611@xxxxxxxxxx>
  • References: <bf2ab1eb0809250505s72cec854w61997d9a75c5d0de@xxxxxxxxxxxxxx> <20080925145203.GM71611@xxxxxxxxxx>

>Если хочется получить именно редирект, и при этом с хешированием по ip-адресам - напишите простое хеширование на >if'ах/map'ах, либо на встроенном perl'е.

Пытаюсь сделать на map'ах. Но не пойму как написать  "простое хеширование на if'ах/map'ах". Так как у меня нужно редиректить только один location, map выдает ошибки...

    map $uri $new {
        /one   http://site1.example.com/one/;
        /one   http://site2.example.com/one/;
    }

2008/9/25 Maxim Dounin <mdounin@xxxxxxxxxx>
Hello!


On Thu, Sep 25, 2008 at 06:05:32PM +0600, Rauan Maemirov wrote:

Здравствуйте.

Помогите, пожалуйста, организовать редирект.

В сервере example.com есть апстрим.

upstream site {
      ip_hash;

      server   site1.example.com;
      server   site2.example.com;
  }

и есть location

      location ^~ /one {
          proxy_pass     http://site/one;
          proxy_redirect default;
      }

Т.е. при обращении на example.com/one он должен редиректиться на
site1.example.com/one или site2.example.com/one. rewrite не подходит, так
как мне нужен редирект с ip_hash.

Редирект - это возврат http-ответа 302 Found (либо 301, 307), его делает именно rewrite.  То, что делает proxy_pass - это проксирование.

Если хочется получить именно редирект, и при этом с хешированием по ip-адресам - напишите простое хеширование на if'ах/map'ах, либо на встроенном perl'е.


Получаю "worker_connections is not enough while connecting to upstream" или
"no live upstreams while connecting to upstream".

Насколько я понял, он зацикливается. Но никак не могу понять почему.

Судя по всему - site1.example.com и site2.example.com указывают на ту же машину, и при этом запрос попадает на обработку к тому же proxy_pass'у и так далее - пока у nginx'а не кончаться соединения.

Maxim Dounin




 




Copyright © Lexa Software, 1996-2009.