Nginx之Http模塊系列之a(chǎn)utoindex模塊的具體使用
brower 模塊主要作用是根據(jù)http請求頭中"User-Agent"的值,以瀏覽器的特征字符來判斷新舊瀏覽器,并生成對應(yīng)的變量,以供后續(xù)的請求處理邏輯來使用。
1. 簡介
ngx_http_browser_module 模塊,通過判斷"User-Agent"請求頭的值,來生成變量,以供后續(xù)的請求邏輯處理。
2.內(nèi)置變量列表
$modern_browser
如果瀏覽器被標(biāo)識為現(xiàn)代瀏覽器,則等于 modern_browser_value 指令設(shè)置的值;
$ancient_browser
如果瀏覽器被識別為古老瀏覽器,則等于 Ancient_browser_value 指令設(shè)置的值;
$msie
如果瀏覽器被識別為MSIE,不區(qū)分任何版本,則等于1;
3.配置示例
現(xiàn)代瀏覽器的識別邏輯配置:
modern_browser_value "modern."; # modern_brower指定何種瀏覽器以及對應(yīng)的版本被視為現(xiàn)代瀏覽器, 配置格式后續(xù)介紹 modern_browser msie 5.5; modern_browser gecko 1.0.0; modern_browser opera 9.0; modern_browser safari 413; modern_browser konqueror 3.0; 當(dāng)瀏覽器被判斷為現(xiàn)代瀏覽器時,modern_browser變量等于"modern.",即modern_browser_value配置的變量。 index index.${modern_browser}html index.html;
古老瀏覽器的兼容判斷:
modern_browser msie 5.0; modern_browser gecko 0.9.1; modern_browser opera 8.0; modern_browser safari 413; modern_browser konqueror 3.0; modern_browser unlisted; # ancient_browser配置何種子串被識別為古老瀏覽器 ancient_browser Links Lynx netscape4; # 當(dāng)瀏覽器被識別為古老瀏覽器,ancient_browser為1; 在此處可以做兼容處理或者給用戶直接以提示,提示更新或者更換現(xiàn)代瀏覽器; if ($ancient_browser) { rewrite ^ /ancient.html; }
4.配置格式
Syntax: ancient_browser string ...; Default: — Context: http, server, location
配置"User-Agent"頭有何種子串時,被判斷為古老瀏覽器,特殊子串"netscape4"等價于正則表達(dá)式: ^Mozilla/[1-4]
Syntax: ancient_browser_value string; Default: ancient_browser_value 1; Context: http, server, location
當(dāng)識別為古老瀏覽器時,$ancient_browser變量的值,即默認(rèn)為1;
Syntax: modern_browser browser version; modern_browser unlisted; Default: — Context: http, server, location
配置何種瀏覽器何種版本時,判定為現(xiàn)代瀏覽器。browser取值:msie, gecko, opera, safari, konqueror. 版本定義格式為X, X.X, X.X.X, 或者X.X.X.X. ,每個格式的最大值分別為: 4000, 4000.99, 4000.99.99, and 4000.99.99.99。
unlisted為特殊字符串,配置當(dāng)瀏覽器都未出現(xiàn)在來modern_browser和ancient_browser匹配范圍里,則被視為現(xiàn)代瀏覽器。否則被視為古老瀏覽器。如果請求頭中未提供"User-Agent"頭,則被視為未出現(xiàn)匹配列表中。
Syntax: modern_browser_value string; Default: modern_browser_value 1; Context: http, server, location
當(dāng)識別為現(xiàn)代瀏覽器時,$modern_browser變量的值,默認(rèn)為1;
4.總結(jié)
ngx_http_browser_module 提供了瀏覽器兼容的判斷機制,使我們在做新舊瀏覽器兼容處理時更為優(yōu)雅與高效,同學(xué)們可以在實際需求中多加運用,將業(yè)務(wù)邏輯中的瀏覽器版本抽離出來,使得業(yè)務(wù)更像業(yè)務(wù),無需考慮其他。
到此這篇關(guān)于Nginx之Http模塊系列之a(chǎn)utoindex模塊的具體使用的文章就介紹到這了,更多相關(guān)Nginx autoindex模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何設(shè)置Nginx實現(xiàn)內(nèi)外網(wǎng)端口映射
在 Nginx 中實現(xiàn)內(nèi)外網(wǎng)端口映射是一種常見的做法,本文詳細(xì)介紹如何設(shè)置 Nginx 實現(xiàn)內(nèi)外網(wǎng)端口映射,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10使用Nginx反向代理實現(xiàn)多端口跳轉(zhuǎn)的實戰(zhàn)分享
在現(xiàn)代Web開發(fā)中,Nginx作為一款高性能的開源反向代理服務(wù)器,提供了強大的功能來管理網(wǎng)絡(luò)流量和路由,本文將介紹如何利用 Nginx 的反向代理功能,以實現(xiàn)多端口跳轉(zhuǎn)的效果,需要的朋友可以參考下2024-02-02