nginx怎么配置文件下载而不是打开txt文件
更新时间:2026年10月29日 08:41:43 作者:IT打工匠
想让nginx服务器上的文件直接下载而不是在浏览器中打开?本文将教你如何通过配置Content-Disposition和Content-Type来实现文件下载功能,避免txt等文件被直接预览,让你的网站更符合用户需求
nginx配置直接下载文件
默认情况下通过Nginx服务器来访问txt等文件,会在浏览器上直接打开。
如果想要实现下载文件的效果,则需要在nginx服务端做一些设置
在nginx.conf追加server
server {
listen 10086;
# 根目录设置
root /opt/downloads;
# 启用目录列表
location / {
autoindex on; # 启用目录列表
autoindex_exact_size off; # 以更人性化的格式显示文件大小
autoindex_localtime on; # 以服务器本地时间显示文件时间
charset utf-8; # 设置字符集为 UTF-8
try_files $uri $uri/ =404; # 确保请求的文件或目录存在,否则返回 404
add_header Content-Type appliction/octet-stream;
add_header Content-Disposition attachment;
}
# 禁止访问上级目录,防止目录遍历攻击
location ~ /\.\./ {
deny all;
}
# 禁止访问 .js* 文件
location ~ /\.js {
deny all;
}
}
扩展说明
Content-Disposition:
默认模式,以页面的一部分或者整个页面的形式展示
Content-Disposition inline
指定附件模式
Content-Disposition attachment
指定附件模式并指定被下载文件的名称
Content-Disposition attachment; filename=“filename.jpg”
Content-Type:
- application/xhtml+xml :XHTML格式
- application/xml : XML数据格式
- application/atom+xml :Atom XML聚合格式
- application/json : JSON数据格式
- application/pdf :pdf格式
- application/msword : Word文档格式
- application/octet-stream : 二进制流数据(如常见的文件下载)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
CentOS 7下编译安装 Nginx 并配置 Web、HTTPS、PHP&nb
在CentOS 7上编译安装Nginx并配置Web、HTTPS、PHP 支持以及反向代理涉及多个步骤,本文介绍CentOS 7下编译安装Nginx并配置Web、HTTPS、PHP 与反向代理,感兴趣的朋友跟随小编一起看看吧2026-07-07


最新评论