在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Nginx文件強制下載的配置方法

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2023-05-06 09:18 ? 次閱讀

有時您可能需要強制用戶從您的網(wǎng)站下載內(nèi)容,而不是在他們的網(wǎng)站上查看。如果您的網(wǎng)站有很多可下載的內(nèi)容,這一點很重要。在本文中,我們將了解如何在 NGINX 中強制下載文件。強制文件下載可防止用戶在您的服務器上流式傳輸這些文件并減少您網(wǎng)站的服務器負載。

現(xiàn)在的瀏覽器能夠識別很多文件類型(txt,pdf,jpg...),并在瀏覽器中自動打開

情況一:
添加頭信息Content-Disposition "attachment;"會使瀏覽器強制下載:

代碼如下:

#表示瀏覽器內(nèi)嵌顯示一個文件
Content-disposition: inline; filename=foobar.pdf
 
#表示會下載文件,如火狐瀏覽器中
Content-disposition: attachment; filename=foobar.pdf

nginx配置如下,在相應的server中添加如下location:

代碼如下:

location /download {
    add_header Content-Disposition "attachment;";
}

情況二:

有這么一個需求,對于圖片文件和pdf等文件鏈接,只要訪問實在某個路徑下,不能在瀏覽器中打開圖片,而是提示用戶保存到本地,文件名使用訪問的文件名。
這個問題主要是IE造成的,不管mime類型是什么,比如人工把圖片的mime類型設置為octet-stream,如果瀏覽器認識文件后綴的話,仍然會在瀏覽器中打開圖片。

解決方案:

在響應的http頭添加:Content-Disposition: attachment; filename=文件名
nginx配置如下:

代碼如下:

  location ~ ^/somepath/(.*)$ {
        add_header Content-Disposition "attachment; filename=$1";
        alias "E:/apache-tomcat-7.0.32/webapps/upload/$1";
}

這里使用到了正則表達式,捕獲請求的文件名。
另外,需要注意nginx的location優(yōu)先級,首先是=,然后是^~,最后才是~。

基本上,您需要在要強制下載的 URL 的位置塊中添加以下行。

add_header Content-disposition "attachment; filename=$1";
default_type application/octet-stream;

上面兩行將內(nèi)容處置標頭設置為“附件”,將內(nèi)容類型設置為“應用程序/八位字節(jié)流”以啟用下載。

例如,如果您想對以 /downloads 開頭的所有 URL 強制下載,則在該文件夾的位置塊中添加上述行,如下所示。

location /downloads {
   ...
   add_header Content-disposition "attachment; filename=$1";
   default_type application/octet-stream;
   ...
}

如果您想強制下載以某些文件類型和擴展名(例如 .jpg、.png、.mp3 等)結(jié)尾的所有文件,請在用于這些文件類型的位置塊中添加上述 2 行。

location ~* ^/.+.(?:gif|jpe?g|png|mp4|mp3)$ {
   ...
   add_header Content-disposition "attachment; filename=$1";
   default_type application/octet-stream;
   ...
}

以上修改完成后需要重啟Nginx,或重新加載

nginx -s reload

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    13

    文章

    9719

    瀏覽量

    87396
  • HTTP
    +關注

    關注

    0

    文章

    522

    瀏覽量

    32521
  • 瀏覽器
    +關注

    關注

    1

    文章

    1040

    瀏覽量

    36128
  • 代碼
    +關注

    關注

    30

    文章

    4891

    瀏覽量

    70320
  • nginx
    +關注

    關注

    0

    文章

    165

    瀏覽量

    12512

原文標題:Nginx文件強制下載的配置方法

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Linux上Nginx獲得最佳性能的8種方法

    NGINX 是一種流行的、免費的開源 Web 服務器。默認的 NGINX 配置足以讓 Web 服務器正常工作。 但是,如果您想充分利用 NGINX,則需要使用其
    發(fā)表于 01-16 09:51 ?638次閱讀

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示
    發(fā)表于 07-10 16:40

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示
    發(fā)表于 07-11 17:13

    nginx中的sendfile配置說明

    nginx配置sendfile及詳細說明
    發(fā)表于 05-05 08:08

    Linux下Nginx的常用命令------啟動、停止、重啟

    ~]# pkill -9 nginx 1、驗證nginx配置文件是否正確方法一:進入nginx安裝目錄***in下,輸入命令./
    發(fā)表于 07-09 07:02

    Linux下Nginx配置多個站點的實現(xiàn)方法

    請問Linux下Nginx如何配置多個站點?
    發(fā)表于 11-09 06:43

    nginx錯誤頁面配置

    16、nginx 錯誤頁面配置nginx錯誤頁面包括404 403 500 502 503 504等頁面,只需要在server中增加以下配置即可: error_page404 403
    發(fā)表于 07-26 06:54

    主要學習下nginx的安裝配置

    主要學習下nginx的安裝配置,以便于后續(xù)學習。以下在本地虛擬機上搭建學習。1、檢查系統(tǒng)網(wǎng)絡是否能連通公網(wǎng):ping www.taobao.com2、確認yum源是否配置好,用于下載
    發(fā)表于 10-19 14:12

    展示一下nginx的學習模塊

    編輯default.conf,加上如下配置:vim /etc/nginx/conf.d/default.conf然后檢查配置的正確性:#-t 表示檢查配置文件;-c表示檢查指定的
    發(fā)表于 10-19 14:16

    分享nginx 502的解決方法

    還好,我印象中多年前遇到過一次類似的問題,不過是linux代理linux,癥狀和該問題基本類似,當時的解決辦法是,修改被代理的linux服務器nginx配置文件nginx.conf中worker_connections參數(shù)的值,
    的頭像 發(fā)表于 02-09 08:37 ?6800次閱讀

    運行nginx所需的最低配置

    運行nginx所需的最低配置: # /etc/nginx/nginx.confevents {} # event context have to be defined to consi
    的頭像 發(fā)表于 08-23 10:53 ?5686次閱讀

    Nginx常用的配置和基本功能講解

    Nginx 已經(jīng)廣泛應用于 J-one 和 Jdos 的環(huán)境部署上,本文對 Nginx 的常用的配置和基本功能進行講解,適合 Nginx 入門學習。
    的頭像 發(fā)表于 05-04 10:25 ?891次閱讀

    nginx負載均衡配置介紹

    目錄 nginx負載均衡 nginx負載均衡介紹 反向代理與負載均衡 nginx負載均衡配置 Keepalived高可用nginx負載均衡器
    的頭像 發(fā)表于 11-10 13:39 ?669次閱讀
    <b class='flag-5'>nginx</b>負載均衡<b class='flag-5'>配置</b>介紹

    Nginx日常運維方法Linux版

    / 默認站點目錄:/usr/share/nginx/html 通過篩選進程查看當前使用的主配置文件和運行用戶: ? ps aux | grep nginx ? 如圖: 主要配置文件
    的頭像 發(fā)表于 12-06 16:38 ?425次閱讀
    <b class='flag-5'>Nginx</b>日常運維<b class='flag-5'>方法</b>Linux版

    Nginx服務優(yōu)化教程

    隱藏Nginx版本號,避免安全漏洞泄漏:修改配置文件法;修改源碼法
    的頭像 發(fā)表于 03-12 15:57 ?456次閱讀
    <b class='flag-5'>Nginx</b>服務優(yōu)化教程
    主站蜘蛛池模板: 色噜噜在线视频 | 99久久免费精品视频 | 在线毛片网站 | 最近的中文字幕免费动漫视频 | 日韩在线三级视频 | 天天干天天摸天天操 | 日本精高清区一 | 欧美激情综合色综合啪啪五月 | 91寡妇天天综合久久影院 | 一区二区高清在线观看 | 在线观看你懂的视频 | 超级乱淫片67194免费看 | 欧美成人aaaa免费高清 | 亚洲福利视频一区二区三区 | 极品吹潮视频大喷潮tv | 日本在线观看www | 69日本人xxxxxxxx18| 农村妇女色又黄一级毛片卡 | ak福利午夜在线观看 | 婷婷六月激情 | 日韩美aaa特级毛片 日韩美a一级毛片 | 国产男靠女免费视频网站 | 最近高清免费观看视频大全 | eeuss影院www影院夜场 | 欧美人成绝费网站色www吃脚 | 爽a中文字幕一区 | 伊人yinren6综合网色狠狠 | 操狠狠 | 日本骚视频 | 在线日韩一区 | 天堂网色| 夜夜爱成人免费网站 | 中文字幕三级 | 大又大粗又爽又黄少妇毛片 | 99久久99这里只有免费费精品 | 亚洲天堂第一页 | 午夜色综合| 午夜影院黄色片 | 在线免费黄色网址 | 色综合88 | 欧美色图日韩 |