Pass url after trailing slash to proxy_pass
How do you redirect everything after* the trailing slash to an internal server? I hope that made sense. Example: www.foo.com/v2/api
should go to localhost:3000/api
or www.foo.com/v2/something
goes to localhost:3000/something
. I have this:
location ~ ^/v2/(.*) {
#rewrite ^/(.*)$ $1 break;
proxy_pass http://localhost:3000/$1;
}
foo.com/v2/<ANYTHING-HERE-SHOULD-MOVE-BEHIND-PORT-3000>
*see above
Based on the web, this should work, right? But it's not. An nginx task was thrown at me without notice but by looking at that, should it have worked?
Solution 1:
You probably need to define a resolver
as you are using proxy_pass
with variables.
However, the functionality you are looking for can be achieved more simply using a prefix location rather than a regular expression:
location /v2/ {
proxy_pass http://localhost:3000/;
}