NginxNginx
2025-04-09 12:00阅读:203评论:0
Nginx代理Proxy Pass转发去除前缀
们需要根据url的前缀转发到不同的服务 比如: abc.com/user/profile.html转发到 用户服务localhost:8089/profile.html abc.com/order/details.html转发到 订单服务 localhost:8090/details.html 即,
_PROTECTED2_ 比如:
PROTECTED3_ abc.com/order/details.html转发到 订单服务 localhost:8090/details.html
PROTECTED4_ ^\~/user/表示匹配前缀是user的请求,proxy\pass的结尾有/, 则会把/user/\_PROTECTED5_)$ /$1 break;
proxypass http://user;
}
location ^~/order/ {
proxysetheader Host $host;
proxysetheader X-Real-IP $remoteaddr;
proxysetheader X-Forwarded-For $proxyaddxforwardedfor;
proxysetheader X-NginX-Proxy true;
rewrite ^/order/(.PROTECTED6_ 注意到proxy\pass结尾没有/, rewrite重写了url。
参考:<https://www.baifachuan.com/posts/37c56ce1.html>