欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java及nginx實現(xiàn)文件權(quán)限控制代碼實例

 更新時間:2020年06月15日 08:22:27   作者:zhjh256  
這篇文章主要介紹了Java及nginx實現(xiàn)文件權(quán)限控制代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

 我們知道,使用nginx作為文件下載服務器,可以極大地降低對后端Java服務器的負載沖擊,但是nginx本身并不提供授權(quán)控制,因此好的方案是由后端服務器實現(xiàn)權(quán)限控制,最好的方式是直接復用應用的認證體系,最大化的降低成本。因此,可借助http的"X-Accel-Redirect"頭實現(xiàn)該特性。具體如下:

location /bookres/ {
  #禁止瀏覽器直接訪問
  internal;
  limit_rate 200k;
  alias d:/test/bookres/;
  #轉(zhuǎn)由后臺處理(tomcat等web容器)
  error_page 404 =200 @backend;
}
location @backend {
  rewrite ^/bookres/(.*)/(.*)/(.*)/(.*)$ /bookres/?isbn=$1&restype=$2&resid=$3&type=$4 break;
  proxy_pass http://localhost:8081; #tomcat等web容器
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  break;
}

java后臺代碼如下:

httpResponse.setHeader("Content-Disposition",
  "attachment; filename=\""+filename+"\"");
httpResponse.setHeader("Content-Type",
  "application/octet-stream");
httpResponse.setHeader("X-Accel-Redirect",
  "/bookres/"+resource.get("res_url"));
//給nginx返回實際文件存在的地址

  相比采用其他文件服務器方案如ftp/fastdfs/mongodb而言,該方案明顯輕量非常多。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 史上最全面的Spring Boot配置文件深入講解

    史上最全面的Spring Boot配置文件深入講解

    Springboot極大的簡化了Spring框架的使用配置流程,在核心配置文件里,幾乎可以完成所有的配置工作,下面這篇文章主要給大家介紹了關(guān)于Spring Boot配置文件的相關(guān)資料,文中介紹的非常全面,需要的朋友可以參考下
    2018-12-12
  • 在JAR文件中找不到主清單屬性的原因與解決方案

    在JAR文件中找不到主清單屬性的原因與解決方案

    在Java中,一個JAR文件通常包含一個名為MANIFEST.MF的清單文件,這個文件定義了關(guān)于JAR文件的各種元數(shù)據(jù),然而,有時我們可能會遇到一個問題,那就是在JAR文件中找不到主清單屬性,本文給大家介紹了JAR文件中找不到主清單屬性的原因和解決方案,需要的朋友可以參考下
    2024-04-04
  • IDEA中Spring Initializr沒有Java8選項的解決辦法

    IDEA中Spring Initializr沒有Java8選項的解決辦法

    在使用IDEA中的Spring Initializr創(chuàng)建新項目時,Java 版本近可選擇Java17,21 ,不能選擇Java8;SpringBoot 版本也只有 3.x,所以本文給大家介紹了IDEA中Spring Initializr沒有Java8選項的解決辦法,需要的朋友可以參考下
    2024-06-06
  • 詳解Struts2攔截器機制

    詳解Struts2攔截器機制

    這篇文章主要介紹了詳解Struts2攔截器機制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Springboot項目啟動找不到啟動類的解決

    Springboot項目啟動找不到啟動類的解決

    這篇文章主要介紹了Springboot項目啟動找不到啟動類的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 基于SpringBoot和Hutool工具包實現(xiàn)驗證碼的案例

    基于SpringBoot和Hutool工具包實現(xiàn)驗證碼的案例

    隨著安全性的要求越來越高,目前項目中很多都會使用驗證碼,只要涉及到登錄,絕大多數(shù)都會有驗證的要求,驗證碼的形式也是多種多樣,更復雜的圖形驗證碼和行為驗證碼已經(jīng)成為了更流行的趨勢,本文給大家介紹了SpringBoot Hutool實現(xiàn)驗證碼的案例,需要的朋友可以參考下
    2024-05-05
  • Java異常處理運行時異常(RuntimeException)詳解及實例

    Java異常處理運行時異常(RuntimeException)詳解及實例

    這篇文章主要介紹了 Java異常處理運行時異常(RuntimeException)詳解及實例的相關(guān)資料,需要的朋友可以參考下http://time.qq.com/?pgv_ref=aiotime
    2017-05-05
  • IDEA中SpringBoot項目的yml多環(huán)境配置方式

    IDEA中SpringBoot項目的yml多環(huán)境配置方式

    這篇文章主要介紹了IDEA中SpringBoot項目的yml多環(huán)境配置,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • Java實現(xiàn)非阻塞式服務器的示例代碼

    Java實現(xiàn)非阻塞式服務器的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Java實現(xiàn)一個簡單的非阻塞式服務器,文中的示例代碼講解詳細,具有一定的學習價值,需要的可以參考一下
    2023-05-05
  • Java編程讀寫鎖詳解

    Java編程讀寫鎖詳解

    本篇文章給大家詳細分享了Java編程讀寫鎖的相關(guān)原理以及知識點內(nèi)容,有興趣的朋友們可以參考下。
    2018-08-08

最新評論