Nginx?禁止直接訪問目錄或文件的操作方法
前言
Nginx 默認是不允許列出整個目錄的。
如需此功能,打開 nginx.conf
文件或你要啟用目錄瀏覽虛擬主機的配置文件,在 location server
或 http
段中加入
autoindex on;
另外兩個參數(shù)最好也加上去:
autoindex_exact_size off;
默認為 on
,顯示出文件的確切大小,單位是 bytes。
改為 off
后,顯示出文件的大概大小,單位是 KB 或者 MB 或者 GB
autoindex_localtime on;
默認為 off
,顯示的文件時間為 GMT 時間。
改為 on
后,顯示的文件時間為文件的服務(wù)器時間。
第一種:autoindex 配置
一級目錄或整個虛擬主機開啟目錄流量
在 nginx.conf
文件 中 server
段添加
location / { autoindex on; autoindex_localtime on; #之類的參數(shù)寫這里 }
單獨目錄開啟目錄流量
二級目錄開啟目錄流量
location /down/ { autoindex on; }
虛擬目錄開啟目錄流量
location /down/ { alias /home/wwwroot/test/; autoindex on; }
第二種:nginx location 配置
一、禁止訪問某些后綴文件
location ~ \.(ini|conf|txt)$ { deny all; }
二、禁止訪問目錄或目錄下文件
#禁止訪問目錄 location ^~ /test/ { deny all; }
#禁止訪問目錄下文件 location ^~ /test { deny all; }
三、禁止訪問某個目錄下的指定文件后綴文件
# 禁止訪問某個目錄下的 php 后綴文件 location /directory { location ~ .*\.(php)?$ { deny all; } }
# 禁止訪問多個目錄下的 php 后綴文件 location ~* ^/(directory1|directory2)/.*\.(php)${ deny all; }
四、nginx location 匹配相關(guān)
=
表示精確匹配^~
表示 uri 以某個字符串開頭~
正則匹配(區(qū)分大小寫)~*
正則匹配(不區(qū)分大小寫) !和!*分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配的正則/
任何請求都會匹配- 匹配優(yōu)先級:
= > ^~ > /
五、nginx 配置圖片直接下載不打開
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { add_header Content-Disposition attachment; }
到此這篇關(guān)于Nginx 禁止直接訪問目錄或文件的方法的文章就介紹到這了,更多相關(guān)nginx 禁止直接訪問目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx-ingress-controller日志持久化方案的解決
這篇文章主要介紹了nginx-ingress-controller日志持久化方案的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Nginx geoip模塊實現(xiàn)地區(qū)性負載均衡
相信做過awstats的都用過開源的geoip.dat ip數(shù)據(jù)庫,剛好nginx wiki上有g(shù)eoip 模塊,這樣就可以實現(xiàn)地區(qū)性的負載均衡,但是maxmind 的ip數(shù)據(jù)庫對中國的支持不算太好,不過現(xiàn)在也不錯了~2010-12-12Nginx、Apache、Lighttpd禁止目錄執(zhí)行php配置示例
這篇文章主要介紹了Nginx、Apache、Lighttpd禁止目錄執(zhí)行php配置示例,本文給出了單個目錄、多個目錄的禁止執(zhí)行PHP的方法,需要的朋友可以參考下2014-09-09