Подстановка аргументов в запрос nginx

Есть location /test1. В нём делается запрос, и создаются аргументы вида &arg_type=new&arg2=200 и т.д. Для использования в любом location я загоняю эти аргументы в куки. add_header Set-Cookie "myargs=&arg_type=new&arg2=200;Max-Age=60"; И возникли проблемы с использованием в другом location. Т.е. есть location:

location /new {
    proxy_pass http://example.com/new/;
}

Если подставить мои аргументы в этот location вида http://example.com/new/&arg_type=new&arg2=200, то должно заредиректить на страницу создания карточки, где аргументы раскидаются по полям. И возникли трудности с реализацией. Если просто в конце proxy_pass добавить,то в течении 60 секунд будет редиректить только на эту страницу.

Если делать rewrite вида: rewrite ^(.*) http://$server_name/$1/$cookie_myargs, то идёт постоянный редирект на эту страницу,пока кука жива. Пробовал использовать permanent/last/break, но безрезультатно. Либо постоянный редирект, либо аргументы подставляются несколько раз. Так же пробовал конструкцию вида (проверка наличия тестовой куки,которая создаётся вместе с аргументами). Итог одинаковый. Получается бесконечный цикл,который живёт 60 секунд.

if ($cookie_myargscheck ~* (true)){
    rewrite ^(.*) http://$server_name/$1/$cookie_myargs break/last/permanent;
}

Подскажите,пожалуйста,как это правильно реализовать. Вариант с кукой нужен, т.к. при прохождение авторизации через сервер SSO идёт 2 редиректа. Первый - запрос на авторизацию,а второй после успешной авторизации. При каждом редиректе идёт декодирование ссылки, а т.к. аргументы уже декодированы,то при этом самом декодировании они отбрасываются. Соответственно до точки назначения доходит только http://example.com/new/


Ответы (1 шт):

Автор решения: ExzoTikFruiT

Решение оказалось достаточно простым. После проверки cookie на true внутри цикла сразу меняю её на false,и редирект проходит только один раз,и логика приложения не нарушается

if ($cookie_myargscheck ~* (true)){
    add_header Set-Cookie "myargscheck=false;Path=/;Max-Age=60";
    rewrite ^(.*) http://$server_name/new/$cookie_myargs permanent;
}
→ Ссылка