redirect all the requests to api server with nginx

2019-07-23 13:26发布

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?

标签: nginx
2条回答
叛逆
2楼-- · 2019-07-23 14:04

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/*.

查看更多
Emotional °昔
3楼-- · 2019-07-23 14:11
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.

查看更多
登录 后发表回答