nginx對客戶端請求的特殊處理

2021-07-23 23:53:35 字數 1978 閱讀 9426

下面介紹對客戶端請求的特殊處理的配置項。

(1)忽略不合法的http頭部

語法:ignore_invalid_headers on | off;

預設:ignore_invalid_headers on;

配置塊:http、server

如果將其設定為off,那麼當出現不合法的http頭部時,nginx會拒絕服務,並直接向使用者傳送400(bad request)錯誤。如果將其設定為on,則會忽略此http頭部。

(2)http頭部是否允許下畫線

語法:underscores_in_headers on | off;

預設:underscores_in_headers off;

配置塊:http、server

預設為off,表示http頭部的名稱中不允許帶「_」(下畫線)。

(3)對if-modified-since頭部的處理策略

語法:if_modified_since [off|exact|before];

預設:if_modified_since exact;

配置塊:http、server、location

出於效能考慮,web瀏覽器一般會在客戶端本地快取一些檔案,並儲存當時獲取的時間。這樣,下次向web伺服器獲取快取過的資源時,就可以用if-modified-since頭部把上次獲取的時間捎帶上,而if_modified_since將根據後面的引數決定如何處理if-modified-since頭部。

相關引數說明如下。

off:表示忽略使用者請求中的if-modified-since頭部。這時,如果獲取乙個檔案,那麼會正常地返回檔案內容。http響應碼通常是200。

exact:將if-modified-since頭部包含的時間與將要返回的檔案上次修改的時間做精確比較,如果沒有匹配上,則返回200和檔案的實際內容,如果匹配上,則表示瀏覽器快取的檔案內容已經是最新的了,沒有必要再返回檔案從而浪費時間與頻寬了,這時會返回304 not modified,瀏覽器收到後會直接讀取自己的本地快取。

before:是比exact更寬鬆的比較。只要檔案的上次修改時間等於或者早於使用者請求中的if-modified-since頭部的時間,就會向客戶端返回304 not modified。

(4)檔案未找到時是否記錄到error日誌

語法:log_not_found on | off;

預設:log_not_found on;

配置塊:http、server、location

此配置項表示當處理使用者請求且需要訪問檔案時,如果沒有找到檔案,是否將錯誤日誌記錄到error.log檔案中。這僅用於定位問題。

(5)merge_slashes

語法:merge_slashes on | off;

預設:merge_slashes on;

配置塊:http、server、location

此配置項表示是否合併相鄰的「/」,例如,//test/在配置為on時,會將其匹配為location /test/a.txt;如果配置為off,則不會匹配,uri將仍然是//test/

(6)dns解析位址

語法:resolver address ...;

配置塊:http、server、location

設定dns名字解析伺服器的位址,例如:

resolver 127.0.0.1 192.0.2.1;

(7)dns解析的超時時間

語法:resolver_timeout time;

預設:resolver_timeout 30s;

配置塊:http、server、location

此配置項表示dns解析的超時時間。

(8)返回錯誤頁面時是否在server中註明nginx版本

語法:server_tokens on | off;

預設:server_tokens on;

配置塊:http、server、location

表示處理請求出錯時是否在響應的server頭部中標明nginx版本,這是為了方便定位問題。

Nginx 對客戶端請求的特殊處理

本文記錄nginx靜態web伺服器對於客戶端請求的特殊處理的配置項。1.忽略不合法的http頭部 語法 ignore invalid headers on off 預設 ignore invalid headers on 配置塊 http server 該配置值為off時,nginx會拒絕http頭...

Nginx 控制客戶端

請求頻率限制 limit req module 主要用於限制每乙個定義的金鑰的請求的處理速率,特別是從乙個單一的ip位址的請求的處理速率 請求的完成量限制 vim usr local nginx conf nginx.conf38 limit req zone binary remote addr ...

Jsp處理客戶端請求

什麼是jsp內建物件 jsp內建物件是 web 容器建立的一組物件 jsp內建物件out out物件用於向瀏覽器輸出資料 其常用的方法是print 該方法用於在頁面中顯示字串資訊。jsp內建物件request request物件主要用於處理客戶端請求 request物件常用方法 4.jsp內建物件r...