以 location /api proxy到 nodejs 的服務上
為了要提供全新架構的api 服務
將以v1,v2區分新舊版本server
以下是nginxg上設定範例
location ^~ /api {
rewrite ^/api(/.*)$ $1 break;
#若要改預設主機 改這裡即可
proxy_pass http://api_server_v1;
}
location ^~ /api/v1 {
rewrite ^/api/v1(/.*)$ $1 break;
proxy_pass http://api_server_v1;
}
location ^~ /api/v2 {
rewrite ^/api/v2(/.*)$ $1 break;
proxy_pass http://api_server_v2;
}
upstream api_server_v1 {
server 127.0.0.1:12345;
}
upstream api_server_v2 {
server 127.0.0.1:3138;
}
設定的結果
http://localhost/api/xxx 會導到v1主機
http://localhost/api/v1/xxx 會導到v1主機
http://localhost/api/v2/xxx 會導到v2主機