亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

NGINX中try_files常見用法

admin
2025年8月14日 20:24 本文熱度 985

在 Nginx 中,try_files 是一個(gè)極為實(shí)用的指令,主要用于 按順序檢查文件或路徑是否存在,并返回第一個(gè)匹配到的資源或執(zhí)行備用操作。它常見于 server 或 location 塊中,尤其在單頁應(yīng)用(SPA)、靜態(tài)資源服務(wù)和 URL 重寫等場景下發(fā)揮關(guān)鍵作用,語法如下:

location / {    try_files file1 file2 ... fallback;}

    • file1, file2:按順序檢查的文件或路徑(相對于 root 或 alias 指定的目錄)
    • fallback:當(dāng)所有文件都不存在時(shí)的備用處理方式(可以是內(nèi)部重定向,比如:/index.html、命名 location,比如: @backend 或狀態(tài)碼,比如: 404/503等)

    1、檢查靜態(tài)資源是否存在,不存在返回abc目錄下默認(rèn)文件index.html,查看nginx配置文件,如圖:

    上述配置理解為:如果默認(rèn)情況下什么路由都不加,那么請求到abc/index.html,如果請求的時(shí)候加了一個(gè)路由,比如 “ip/about.txt”,那么首先會(huì)查找abc路徑下是否有about.txt文件,此時(shí)about.txt對應(yīng)的就是"$uri",如果沒有找到about.txt,那么繼續(xù)查找abc路徑下是否有about.txt目錄,這個(gè)about.txt目錄對應(yīng)的就是”$uri/” ,如果有,那么就請求about.txt目錄的內(nèi)容,如果也沒有這個(gè)目錄,那么就返回默認(rèn)的頁面,也就是最開始的abc/index.html
    注:找about.txt目錄下的文件默認(rèn)也是index.html
    舉例:
    (1)、如果什么路徑都不加,直接使用IP訪問,默認(rèn)會(huì)找到abc下的index.html,如圖:
    (2)、在abc目錄下定義about.txt目錄,在此目錄下定義index.html文件,寫入內(nèi)容,通過ip/about.txt訪問,如圖:
    注:因?yàn)閍bc目錄下沒有about.txt文件,但是有about.txt目錄,因此跳過$uri,繼續(xù)找$uri/,找到了并返回結(jié)果
    (3)、在abc目錄下定義test.txt文件,寫入內(nèi)容,此時(shí)通過ip/test.txt訪問,如圖:
    此時(shí)符合了第一個(gè)$uri,因此不會(huì)繼續(xù)向后面查找了
    (4)、直接通過ip請求未知的資源路徑,ip/gong.doc,回到了默認(rèn)頁面,如圖:
    因?yàn)閍bc路徑下不存在gong.doc也不存在這個(gè)目錄,因此就會(huì)找到最終的/index.html
    2、檢查靜態(tài)文件是否存在,不存在則轉(zhuǎn)發(fā)到后端應(yīng)用,源nginx的配置,如圖:
    上圖中的配置可以理解為如果請求的路由不匹配$uri和$uri/,那么會(huì)轉(zhuǎn)發(fā)到@backend的后端服務(wù),這個(gè)backend名稱是自定義的,因此如果請求http://192.168.49.83/test_route的時(shí)候,但是本地沒有對應(yīng)的匹配,因此會(huì)轉(zhuǎn)發(fā)到http://192.168.49.224/test_route,這個(gè)test_route會(huì)帶到后端去的
    這里還是以兩個(gè)nginx的靜態(tài)頁面舉例:
    (1)、修改49.224的nginx配置文件,添加內(nèi)容如圖:
    注:在后端的nginx配置中,也要有這個(gè)test_route路由,否則會(huì)報(bào)404錯(cuò)誤
    (2)、在/data/html目錄下新建test_route目錄并定義index.html文件,如圖:
    (3)、此時(shí)通過源IP來請求test_route路由,因?yàn)楫?dāng)前沒有匹配,就會(huì)跳轉(zhuǎn)到后端服務(wù)去,如圖:
    上述NGINX配置中有個(gè)參數(shù),如下:
    add_header X-Tried-File $uri always; #always表示對所有響應(yīng)有效
    此參數(shù)的意思是在 HTTP 響應(yīng)頭 中新增一個(gè)自定義頭字段 X-Tried-File,其值為 用戶實(shí)際請求的文件路徑(即 $uri 變量),查看響應(yīng)頭信息,可以看到X-Tried-File,如圖:
    3、檢查靜態(tài)文件是否存在,不存在直接返回404,如圖:
    請求gong.txt,既不存在此文件也不存在此目錄,因此直接返回404,如圖:
    4、訪問頁面,直接返回狀態(tài)碼,適合維護(hù)頁面,如圖:
    在abc目錄下定義maintenace.html(名字要與nginx配置名字一致),然后通過192.168.49.83請求,如圖:
    5、嵌套條件,修改nginx配置文件,如圖:
    上面配置理解為:如果請求/hello,那么匹配/custom/hello,如果匹配不到就繼續(xù)匹配/default/hello,如果都匹配不到就返回404
    (1)、在abc目錄下新建custom目錄并在內(nèi)部創(chuàng)建gong.txt文件,新建default目錄并在內(nèi)部新建guan.txt,通過url請求,如圖:


    閱讀原文:原文鏈接


    該文章在 2025/8/15 12:36:28 編輯過
    關(guān)鍵字查詢
    相關(guān)文章
    正在查詢...
    點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
    點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
    點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
    點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
    Copyright 2010-2025 ClickSun All Rights Reserved