编程技术分享平台

网站首页 > 技术教程 正文

Nginx防止浏览器下载文件直接打开

xnh888 2024-10-11 19:22:35 技术教程 291 ℃ 0 评论

序言

公司项目逐渐增多,对效率的要求越来越高,不同项目分部不同服务器,最初想用nginx 就是为了多个项目用一个url和服务器宕机解决方案

nginx也可作为附件服务器,毕竟nginx也对静态文件支持较好,我们主要文件下载就通过url地址直接访问(这里就不介绍安全性的问题了),

直接访问问题就来了,各大浏览器都针对,图片 txt,pdf,都是直接打开的,

解决思路就是,告诉浏览器这个文件需要下载而不是直接打开

nginx通过反向代理可以直接过滤访问的url在指定的访问添加heard

代码

$request_filename 是nginx变量文件名称,正则表达式,是匹配已.所需文件类型,这样就在响应中告诉浏览器可以下载了

额外的说一下,通常在做下载的时候,可能会直接暴露出下载地址,比如www.dream404.com/upload/images/1.png,这样去对外提供一个链接,但是此时是很危险的,比如此时用户如果访问的是www.dream404.com/upload/images就有可能会列出我们images目录下的所有文件,其实我们的目的只是为了给用户看1.png的这个文件,此时该怎么办呢?nginx有一个配置项为是否开启目录浏览功能,如果开启的话就可以直接浏览目录,如果关闭的话就只能浏览文件。具体配置如下:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表