I'm using Nginx as a reverse proxy to redirect api request to one my server. Unfortunately it is not working properly
what I'm trying to achieve is to proxy all requests like /api/v1/*
to http://my-api-server/api/v1/*
here is the rule I have written
location /api/v1/ {
proxy_pass http://my-api-server/api/v1/
}
but it doesn't work. any idea?
Try
location /api/v1/ {
proxy_pass http://my-api-server
}
In proxy_pass
directive, if you specify the URI which is /api/v1/
in your case, all matched URIs will be replaced as the exactly specified one /api/v1/
but not /api/v1/*
.
location /api/v1 {
proxy_redirect http://my-api-server/ /api/v1;
proxy_pass http://my-api-server;
}
You need to add the proxy_rredirect
attribute.