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?
Best Answer
You probably need to define a
resolver
as you are usingproxy_pass
with variables.However, the functionality you are looking for can be achieved more simply using a prefix location rather than a regular expression: