Добрый день коллеги!
Имеется задача, отправлять некоторые запросы к /test.cgi отобранные по аргументу id в $args на другой бекэнд , не переписывая исходный url.
Имеется следующая конструкция:
map $arg_id $new {
default 0;
00301 1;
02340 1;
...
}
location /test.cgi {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
if ($new) {
proxy_pass https://192.168.1.2?$args;
#proxy_set_header Host "new.host.name";
}
proxy_pass http://192.168.1.1;
}
Все вроде хорошо, все перенаправляется. Но не загружаются ни css ни картинки ни скрипты. Естественно, это по тому, что картинки оно ищет на другом сервере где таковых нет (url то мы не переписали). При попытке переписать proxy_set_header Host "new.host.name"; в контексте if {} выдает ошибку [emerg]: "proxy_set_header" directive is not allowed here...
Может кто сталкивался с подобным? Никак не могу найти правильное решение.
WBR, Mike Bell