location / { set $h "site.ru"; proxy_pass http://$h; resolver 8.8.8.8; }
это работает, запросы /aaa идут на site.ru/aaa
Допустим, надо чуть-чуть поменять путь
location /new/ { rewrite /new/(.+)$ /$1 break; proxy_pass http://site.ru; }
это тоже работает, запросы /new/aaa идут на site.ru/aaa
А вот комбинация 2 вариантов уже не работает
location /new/ { set $h "site.ru"; rewrite /new/(.+)$ /$1 break; proxy_pass http://$h; resolver 8.8.8.8; }
запросы /new/aaa идут site.ru/new/aaa
Кто знает, как задать хост в переменной и изменить путь?
вопрос на форуме nginx
В nginx начиная с версии 1.0 это пофикшено.