Nginx Rewrite(重写地址)

例:


       location ^~ /api/ {
          rewrite ^/api/(.*)$ /$1 break;
          proxy_pass http://localhost:8080;
       }
        

^:匹配输入字符串的起始位置
$:匹配输入字符串的结束位置

 location

^~:表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其它location。

rewrite ^/api/(.*)$ /$1 break会将请求路径中的/api/前缀移除,例如/api/user重写为/userbreak标志表示重写后停止后续rewrite规则处理

 

proxy_pass http://localhost:8080将处理后的请求转发到本地8080端口服务。由于rewrite使用了break,proxy_pass会接收重写后的路径(如/user),而不会保留原始/api/前缀。若proxy_pass末尾带/(如http://localhost:8080/),则路径会被完全替换为/$1

posted @ 2025-08-23 15:28  休玛  阅读(82)  评论(0)    收藏  举报