如何通过Nginx安装第三方模块及禁止指定路径下载文件?这里搬主题以BT宝塔面板为例,介绍一下这些配置的图文教程。什么?还没安装BT宝塔面板?点击进行下载安装宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取一、安装第三方模块我们这里第三方模块以Fancyindex为例1.下载Fancyindex源码因为Fancyindex模块已经录入到Nginx官方库,可以去Nginx官方下载和看指南:https://www.nginx.com/resources/wiki/modules/fancy_index/我们直接到服务器终端执行以下命令下载源码wget https://github.com/aperezdc/ngx-fancyindex/releases/download/v0.5.2/ngx-fancyindex-0.5.2.tar.xz2.下载好后,我们进行解压:xz -d ngx-fancyindex-0.5.2.tar.xztar -xvf ngx-fancyindex-0.5.2.tar3.然后到面板的软件商店中找到Nginx,选择编译安装,安装时再选择添加模块模块参数:--add-module=/root/ ngx-fancyindex-0.5.2 (路径根据自己解压路径为准)4.编译完成后可到服务器终端执行以下命令进行查看模块是否安装成功2>&1 nginx -V |tr '' 'n'|grep ngx-fancyindex-0.5.2二、使用Fancyindex1.我们只需要编辑网站配置文件写入以下代码location ^~/data{
alias /www/wwwroot/www.test.com/download; # 映射地址
fancyindex on; # 启用fancyindex
fancyindex_exact_size off; # 不显示精确大小
fancyindex_time_format "%Y-%m-%d %H:%M"; # 文件日期
fancyindex_localtime on; # 使用用户本地时间
}2.编辑完之后,点击保存,浏览器访问即可看到效果三、禁止指定路径下载文件1.打开网站配置文件编辑,写入以下内容#禁止/download路劲下文件下载
location ~ ^/download { #匹配以 /download 开头的路径
location ~ .(zip|rar|sql|sh|bak|gz|7z)$ { #匹配以zip,rar,sql...结尾的文件
return 444; #"return"停止处理请求,直接返回响应码444,执行return指令后, location中后续指令将不会被执行
}
}2.编辑后点击保存,此时我们再到服务器终端使用wget进行下载测试什么?还没安装BT宝塔面板?点击进行下载安装宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取
THE END