來源:互聯網
上載者:User
關鍵字
HTTP
nginx
Addition
Addition模組
如果要使用這些模組,則必須在編譯時指定相關的編譯參數。
這個模組可以在當前的location之前或者之後增加別的location。
它作為一個輸出篩檢程式執行,包含到其他location中的主請求和子請求不會被完全緩衝,並且仍然以流的形式傳遞到用戶端,因為最終應答體的長度在傳遞HTTP頭的時候是未知的,HTTP的chunked編碼總是在這裡使用。
安裝
預設情況下這個模組是沒有編譯的,如果要使用則需要在編譯時指定下列參數:
./configure --with-HTTP_addition_module
示例配置:
location / { add_before_body /before_action; add_after_body /after_action;
一些限制
在0.8.17版本中如果當前的location請求一個請求自身的子請求,包含的location不會被添加。 如以下配置:
location /foo { add_before_body /bar;} location /bar { add_before_body /baz;}
連接到/foo的請求並不會將/baz對應的location添加到欄位中。
同樣注意,在定義需要包含的location時只能使用字串,而不能使用變數,所以以下配置:
location / { set $before_action /before_action; add_before_body $before_action;}
並不能正常工作(雖然在測試組態檔正確性的時候可以通過)
指令
add_before_body
語法:add_before_body uri
預設值:no
使用欄位:HTTP, server, location
在應答體的前面增加URI,為一個處理結果發出子請求。
add_after_body
語法:add_after_body uri
預設值:no
使用欄位:HTTP, server, location
在應答體的後面增加URI,為一個處理結果發出子請求。
addition_types
語法:addition_types mime-type [mime-type ...]
預設值:text/html
使用欄位:HTTP, server, location
指令(0.7.9)允許增加讓該location處理的其他MIME類型(預設為」text/html」)。 (0.8.17之前這個指令在原始程式碼中被拼寫成」addtion_types」,不過在0.8.17版本後修復了。 )