Nginx如何根據url中的path動態轉發到upstream

場景1

/svr1/xxxx?yyy 轉發到 svr1:8080/xxxx?yyy

/svr2/xxxx?yyy 轉發到 svr2:8080/xxxx?yyy

配置如下:

location?~*?/(srv[1-9]+)/(.*)$?{ ??allow?all; ??proxy_pass?http://$1/$2$is_args$args;? ??proxy_set_header?host?$host;????????????????????????? ??proxy_set_header?x-forwarded-for?$forwarded_addr;???????????????????????????????? }  upstream?srv1?{??????????????????????????????????????????????????? ???server?srv1-ip:8080; } ?????? upstream?srv2?{??????????????????????????????????????????????????? ???server?srv2-ip:8080; }

場景2

svc1下有3個對等服務srv1,2,3,/svc1/xxxx?yyy 轉發到,srv1/2/3:8080/xxxx?yyy

svc2下有3個對等服務srv4,5,6,/svc2/xxxx?yyy 轉發到,svr4/5/6:8080/xxxx?yyy

location?~*?/(svc[1-9]+)/(.*)$?{????????????????????????????? ??allow?all;?????????????????????????????????? ??proxy_pass?http://$1/$1/$2$is_args$args;??????????????????? ??proxy_set_header?host?$host; ??proxy_set_header?x-forwarded-for?$forwarded_addr;??????????????????? }  upstream?svc1?{ ??server?srv1:8080;??? ??server?srv2:8080;??? ??server?srv3:8080;???????????????? }  upstream?svc2?{ ??server?srv3:8080;??? ??server?srv4:8080;??? ??server?srv5:8080;???????????????? }

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享