nginx HTTP過濾模組的呼叫流程

2021-10-07 08:56:21 字數 2195 閱讀 4361

在content階段時,會生成返回給使用者的響應內容,對使用者的響應內容,實際上還要做加工處理,http過濾模組就是對響應內容做加工處理的。

就是在content階段之後,log階段之前去介入請求處理

gzip_filter 必須要在 copy_filter模組之後。

gzip_filter需要對記憶體中的內容做壓縮

copy_filter把檔案中的內容拷貝乙份到記憶體中,供gzip進行壓縮

功能:將響應中指定的字串,替換成新的字串

ngx_http_sub_filter_module模組:預設未編譯金nginx,通過--with-http_sub_module啟用

1.sub_filter指令

語法:sub_filter string replacement;

預設:空

放置位置:http,server,location

2.sub_filter_last_modified指令

語法:sub_filter_last_modified  on | off;

預設:sub_filter_last_modified off;

放置位置:http,server,location

3.sub_filter_once指令(只替換一次)

語法:sub_filter_once  on | off;

預設:sub_filter_once on;

放置位置:http,server,location

4.sub_filter_types指令(針對什麼型別的檔案進行替換)

語法:sub_filter_types mime-type ...;

預設:sub_filter_types text/html;

放置位置:http,server,location

功能:在響應前或者響應後增加內容,而增加內容的方式是通過新增子請求的響應完成。

模組:ngx_http_addition_filter_module。預設未編譯進nginx,通過--with-http_addition_module啟用。

1.add_before_body指令(在body之前新增一些內容,讓nginx訪問uri,根據子請求的內容,增加到body之前)

語法:add_before_body uri;

預設:空

放置位置:http,server,location

2.add_after_body 指令

語法:add_after_body uri;

預設:空

放置位置:http,server,location

3.addition_types指令 (指定特殊型別才能使用此指令)

語法:addition_types mime-type ...;

預設:addition_types text/html;

放置位置:http,server,location

Nginx Http模組開發

關於nginx http模組開發的文章非常少,只有emiler的那篇關於http模組的文章,但是那篇文章裡面,並沒有說到事件型的模組如何進行開發。而且文章裡面提到的內容實在是讓人有點意猶未盡。因此,對於http事件型模組的開發進行了一些總結,與大家分享。但是,無論如何,要進行nginx模組開發,最好...

細述 nginx http核心模組提供的變數和解釋

ngx http core module模組在處理請求時,會有大量的變數,這些變數可以通過訪問日誌來記錄下來,也可以用於其它nginx模組。在我們對請求做策略如改寫等等都會使用到一些變數,順便對ngx http core module模組提供的變數總結了下,如下所示 引數名稱 注釋 arg para...

nginx http配置的解析

對nginx配置解析這塊,一直都是模模糊糊,沒有條理,現在梳理一下 1 乙個意思就是nginx core module本身,它和nginx http module nginx event module還有ngx mail module是並列的,他們是最上層的一些模組,你看他們的定義會發現,他們都是n...