internal指令功能介紹
Ngin的internal指令可以用來限制瀏覽器直接訪問服務器內的資源文件,比如下載站服務器內的壓縮包文件目錄路徑被用戶用非法手段獲取到,就可以不通過下載程序邏輯下載,直接訪問路徑+壓縮包名稱直接下載。
但是用了internal指令,直接用瀏覽器訪問路徑+壓縮包名稱,就會提示404無法訪問,必須經過程序邏輯才能訪問到文件。
internal指令使用方法
比如需要訪問路徑為 /images/auth-pictures/內的圖片資源,Ngin的internal指令配置方法如下:
location ^~ /images/auth-pictures/ { internal; }
保存后重啟 nginx,直接訪問 /images/auth-pictures/ 下的圖片,會返回 404。
我們只能通過在響應頭“X-Accel-Redirect” 域使請求重定向到真實的圖片路徑上面,才能正常訪問到文件,方法如下:
<?php ('Content-Type: ' . ('./images/auth-pictures/' . $name)['mime']); ('X-Accel-Redirect: /images/auth-pictures/' . $name); die;