使用Nginx做反向代理的时候如果需要根据不同的url代理到不同的服务器,需要通过以下法:
#1. 地址后面加/
server {
location ^~/v1/ {
proxy_pass http://localhost:8080/;
}
}
^~/v1/表示请求前缀是v1的请求,proxy_pass最后加上/,就会把v1去除,比如请求的地址是v1/api/test,则代理发出的请求是http://localhost:8080/api/test
2. 使用rewrite
server {
location ^~/v1/ {
rewrite ^/v1/(.*)$ /$1 break;
proxy_pass http://localhost:8080;
}
}
使用 rewrite重写了url 注意 proxy_pass后不需要加/