本文最后更新于 115 天前,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
前言
Nginx 需要设置禁止直接访问目录或文件,如果不禁止,Nginx 会直接去下载 web 目录下文件,如果有配置文件,则可以直接暴露一些配置文件源代码。
禁止方法
禁止访问某些后缀文件
-
禁止所有
ini
、conf
、txt
后缀的文件location ~ \.(ini|conf|txt)$ { deny all; }
-
禁止指定某个目录后缀
php
后缀的文件location /wp-content/uploads { location ~ .*\.(php)?$ { deny all; } }
-
禁止指定多个目录后缀为
php
的文件location ~* ^/(css|uploads)/.*\.(php)${ deny all; }
禁止访问目录或目录下文件
-
禁止访问目录
location ^~ /test/ { deny all; }
-
禁止访问目录下文件
location ^~ /test { deny all; }
Nginx location 匹配相关
=
表示精确匹配^~
表示uri以某个字符串开头~
正则匹配(区分大小写)~*
正则匹配(不区分大小写) !~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则/
任何请求都会匹配- 匹配优先级:
=
>^~
>/
Nginx 配置图片直接下载不打开
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
add_header Content-Disposition attachment;
}