Добрый день уважаемые.
Ни как не могу разобраться с nginx. Задача проста вроде бы.
По наброску конфига станет ясно чего добиваюсь:
server {
listen 443 ssl;
server_name test.ru;
location /db/prod/cons_(.*)$ {
if ($uri != $scheme://$server_name/db/prod/cons_(one$|two$) {
rewrite ^/ $scheme://$server_name/error.html;
}
proxy_pass http://localhost:8080;
}
}
Разьясню: если запрос не равен строго указанным папкам (one$|two$), то он реврайтит на еррор. Если запрос на них - отправляется на сервер в 8080.
запрос test.ru/db/prod/cons_onee тоже должен на еррор.
Как я только не эксперементировал. То location не цепляет, то реврайт не работает. if - вообще не смог добиться что бы отрабатывал.
Укажите на ошибки пожалуйста. На литературу по теме. Буду очень благодарен за любые отзывы.
Спасибо за внимание.
пара ссылок по которым строил эти суждения:
http://docs.mirocow.com/doku.php?id=nginx:%D0%B2%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_nginx
https://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#if
http://itzx.ru/linux/derektiva-nginx-location-s-primerami