ПРОЕКТЫ 


  АРХИВ 


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]

Вопрос по конфигурации


  • To: nginx-ru@xxxxxxxxx
  • Subject: Вопрос по конфигурации
  • From: "Hett" <nginx-forum@xxxxxxxx>
  • Date: Fri, 24 Aug 2012 06:11:31 -0400 (EDT)
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=qGxwKkpbq1WHZJHvjIbNKI5J4SvOprhdewqs2TvuMts=; b=smdG8ZcPuegK8cbZhhr2mlimUrjM/pf51cJP3sUVkht+Z4GQU6dgedTTLSI3rfFwKol6ouPIeTQIz6Tk/5yTPcYFzUckUsiMHPeQ/sl+Dtl9qNFWBBsMw6A+IH37ry7v;

Всем привет,
есть 2 location

        location /download/premium/ {
            limit_req zone=one burst=5;
            limit_conn addr 8;
            rewrite
^/download/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*)$
/v1/AUTH_system/$2/$3/$7?temp_url_sig=$4&rate_limit=$5&temp_url_expires=$6&type=$1
break;
            proxy_pass       http://127.0.0.1:8080;
            proxy_set_header Host      $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
        location /download/free/ {
            limit_req zone=one burst=5;
            limit_conn addr 1;
            rewrite
^/download/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*)$
/v1/AUTH_system/$2/$3/$7?temp_url_sig=$4&rate_limit=$5&temp_url_expires=$6&type=$1
break;
            proxy_pass       http://127.0.0.1:8080;
            proxy_set_header Host      $host;
            proxy_set_header X-Real-IP $remote_addr;
        }

По сути они одинаковы, но отличаются только limit_conn
Я пробовал матчить URL, получать оттуда значение нужной переменной (она идет
сразу после слова download)
и менять переменную, в итоге было что-то похожее на:

if($url ~/^download/([^/]+).*/) {
    set $limit_conn = $1;
}
 (как-то так, точно уже не помню, а конфиг не сохранил)
но конфигурация не работала, ругаясь на то. что я не могу изменять значение
данной переменной в этом месте.
Если же я выносил set из под этого условия, то все работало. 

В общем вопрос в том, можно ли приведенный выше конфиг записать в одной
location а не плодить их?
Спасибо.

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,230096,230096#msg-230096

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.