How to prevent nginx from reverse proxy specific subdirectories
Solution 1:
You can bind the proxy_pass to EXACTLY the path you like, like this
location = / {
proxy_pass http://localhost:9999/;
}
This makes sure that no other path will be passed but /
OR
you can use this syntax for just the subdirectories to be matched
location ^~ /subdir {
alias /var/www/site/subdir;
}
location / {
proxy_pass http://localhost:9999/ ;
}
The ^~
matches the subdir and then stops searching so the /
will not be executed. It is described here.