通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制-創(chuàng)新互聯(lián)

本文介紹了通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制,分享給大家,具體如下:

永興網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,永興網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為永興上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的永興做網(wǎng)站的公司定做!

運(yùn)行環(huán)境:

  1. Ubantu 14.0 
  2. tomcat7
  3.  nginx 1.4.6(更新后1.5.6)

項(xiàng)目中經(jīng)常會(huì)用到權(quán)限管理,必然的就會(huì)存在權(quán)限的設(shè)定和驗(yàn)證;對(duì)于登陸或者模塊的權(quán)限設(shè)定驗(yàn)證,在項(xiàng)目中直接實(shí)現(xiàn);那么問(wèn)題出現(xiàn)了

1.訪問(wèn)資源文件

2.多項(xiàng)目訪問(wèn)權(quán)限

3.tomcat中虛擬目錄的訪問(wèn)權(quán)限

公司項(xiàng)目中用到文件的上傳下載,在線預(yù)覽等功能;當(dāng)然用戶在使用的時(shí)候,我們不可能把用戶的上傳的文件放在項(xiàng)目中,那么必然會(huì)用到

虛擬目錄來(lái)映射文件的位置,或者說(shuō)跨域夸項(xiàng)目;如果沒(méi)有對(duì)這些進(jìn)行一個(gè)訪問(wèn)的權(quán)限的限制,那么你將可以不需要任何權(quán)限就可以訪問(wèn)下載

服務(wù)器上的資源(只要路徑正確不需要任何權(quán)限),下面拿公司項(xiàng)目實(shí)際情況說(shuō)明一下:

比如訪問(wèn): http://192.168.1.118/filefindPDFfilePath?filePath=root/(A)/上傳應(yīng)用描述.docx 將出現(xiàn)

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

filefindPDFfilePath?filePath=root/(A)/上傳應(yīng)用描述.docx http 請(qǐng)求會(huì)返回 /imgss/(A)/上傳應(yīng)用描述.docx(imgss是tomcat server.xml配置的虛擬目錄)

打開(kāi)瀏覽器我們直接訪問(wèn)虛擬目錄:http://192.168.1.118/imgss/(A)/上傳應(yīng)用描述.docx 將出現(xiàn)不需要任何權(quán)限可以預(yù)覽或者使用工具下載服務(wù)器資源

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

這會(huì)導(dǎo)致客戶在使用時(shí),在稍有心思的人面前沒(méi)有任何安全可言

下面說(shuō)一下如何解決這個(gè)問(wèn)題:

第一種方案:設(shè)置tomcat全局過(guò)濾器,進(jìn)行session驗(yàn)證

1.項(xiàng)目中添加過(guò)濾器 UserLoginFilter.java(這里就不贅述了)

2.在tomcat 配置文件web.xml添加Filter

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

注意這里:applicaton/com.rhxy.service.UserLoginFilter 指向項(xiàng)目中的UserLoginFilter過(guò)濾器

這里需要說(shuō)明一下。配置的攔截請(qǐng)求都是tomcat server.xml中配置的虛擬路徑

而所有的訪問(wèn)資源的請(qǐng)求都是需要經(jīng)過(guò)這里,所以直接設(shè)置虛擬路徑即可

啟動(dòng)tomcat 重新部署項(xiàng)目;進(jìn)行測(cè)試。結(jié)果如下

未登錄情況下

訪問(wèn):http://192.168.1.118/filefindPDFfilePath?filePath=root/(A)/12.png 打開(kāi)tomcat 日志進(jìn)行觀察:

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

觀察一下前臺(tái):

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

未登錄情況下被成功被過(guò)濾掉了

測(cè)試直接訪問(wèn)虛擬目錄:http://192.168.1.118/imgss/(A)/12.png同樣被攔截 

然后測(cè)試登陸后訪問(wèn),就出現(xiàn)問(wèn)題了。請(qǐng)求是被過(guò)濾了,但是權(quán)限驗(yàn)證合格以后請(qǐng)求返回的status 居然是404 

后臺(tái)日志:

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

前臺(tái):

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制

http://192.168.1.118/filefindPDFfilePath?filePath=root/(A)/12.png

http://192.168.1.118/imgss/(A)/12.png  通過(guò)后臺(tái)觀察,請(qǐng)求都是有經(jīng)過(guò)過(guò)濾器進(jìn)行session驗(yàn)證,并且都是驗(yàn)證通過(guò),然而還是出現(xiàn)404,資源在

服務(wù)器中是肯定存在的,tomcat 中的虛擬目錄設(shè)置也沒(méi)有問(wèn)題;經(jīng)過(guò)多次測(cè)試問(wèn)題出在tomcat配置文件web.xml配置的過(guò)濾器,映射的是項(xiàng)目中的過(guò)濾器

那么將過(guò)濾器打包成jar 以后,放置在tomcat 中,然后修改web.xml配置文件,修改Filter 中filter-class 為jar包打包的路徑,然后測(cè)試發(fā)現(xiàn)項(xiàng)目無(wú)法啟動(dòng)。

在配置Filter 中filter-class 路徑時(shí)出錯(cuò);然后經(jīng)過(guò)一系列嘗試,最終還是失敗,因?yàn)闀r(shí)間有限,所以只能放棄這種,但是我相信思路肯定是正確的,因?yàn)?/p>

聽(tīng)說(shuō)已經(jīng)有人實(shí)現(xiàn)了,但是沒(méi)有具體說(shuō)明,下面開(kāi)始嘗試第二種

第二種方案:通過(guò)nginx代理攔截請(qǐng)求,并進(jìn)行訪問(wèn)限制

1.使用 nginx -V 查看版本幾安裝的模塊,查看是否有ngx_http_accesskey_module模塊,沒(méi)有的話需要為nginx加入ngx_http_accesskey_module模塊(附件),因?yàn)槲业陌姹臼?.4.6上面很多模塊都沒(méi)有,先進(jìn)行升級(jí)

1.1)下載nginx-1.5.6.tar.gz (文件位置在/root下)

wget http://nginx.org/download/nginx-1.5.6.tar.gz

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前名稱:通過(guò)nginx代理攔截請(qǐng)求進(jìn)行全局訪問(wèn)限制-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://bm7419.com/article26/dssejg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站手機(jī)網(wǎng)站建設(shè)、建站公司、面包屑導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)