nginx中,proxy_pass和rewrite执行顺序

查看:282
本文介绍了nginx中,proxy_pass和rewrite执行顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

第一个问题:如下为nginx.conf中的某个location。
第五行执行了rewrite,那么第6行和第7行是否一定不执行呢?
那么原作者为啥这么写location呢?
第二个问题,proxy_pass和rewrite分别执行在nginx 11个请求处理的哪个阶段呢?

 1   location ~ "(.*)$" {
 2       set $vhost "$1-cba";
 3       set $vpath "2";
 4          set $cookie_path "/$1";    
 5       rewrite .* $vpath break;
 6       proxy_pass http://$vhost;
 7          proxy_cookie_path / $cookie_path;
    }

解决方案

break不再执行同一区块的rewrite。但是其他的指令还是执行的。
可以参考这篇文章

这篇关于nginx中,proxy_pass和rewrite执行顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆