August 24, 2012 06:11AM
Всем привет,
есть 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 а не плодить их?
Спасибо.
Subject Author Posted

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

Hett August 24, 2012 06:11AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 196
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready