openresty 的變量的執行順序

set $a cat ;

set_by_lua  $b 'return ngx.var.arg_b';

rewrite 階段

rewrite_by_lua "ngx.var.a = ngx.var.a + 1";

more_set_input_headers  "X-Species: $value";

post_rewrite 

allow  1.2.2.0/24;

deny 1.1.1.1;

acc_by_lua ;

access 階段

echo 

proxy_pass

content_by_lua ;

content phase 


content 的處理階段的問題

分兩個階段,內容處理階段和 文件處理階段。echo,proxy_pass,content 屬於內容處理階段。

有內容處理階段,文件處理階段就會被省略,無內容處理階段,纔開始文件處理階段。

文件處理階段的三種,ngx_index,ngx_autoindex, ngx_static 


try_files 階段:如  try_files /foo /bar  /baz;

查看  /foo   /bar  文件是否真實存在,是文件,不是 location ,如存在, 不跳轉,繼續執行以後的語句,如前面的 foo 和 bar 都不存在,直接轉到請求 /baz, baz 有,返內容,如返404 ,關鍵點是文件是否存在,跟location 無關。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章