nginx中,proxy_pass和rewrite执行顺序

浏览:52日期:2022-07-23

问题描述

第一个问题:如下为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; }

问题解答

回答1:

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

相关文章: