簡體   English   中英

使用Unix UserID重寫Nginx位置塊

[英]Nginx location block rewrite using Unix UserID

在為用於移動/平板電腦平台的視頻提供服務時,我想到了使用Nginx位置塊級別重寫的wordpress網站的安全方案。

移動操作系統點是關鍵條件,盡管在運行時,我還將使用該系統來保護台式機/筆記本電腦用戶代理。

請注意,這是一種具有成本效益的解決方案,因為當客戶可以付款時,我已經在為iOS和Android進行分塊,加密和流式處理,或者他們有更強大的需求。

考慮到WP用戶可以最容易地通過ID進行區分,並且我希望保持位置指令盡可能簡單,因此我想執行以下操作:

  1. 位置/ var / www / mydomain / video / *重寫為〜/(userID)/videoFile.mp4

訣竅是將WordPress的userID設置為Nginx可以在位置塊中使用的方案,因此我認為將WP用戶“ X”添加為Unix用戶作為“ userX”將有助於簡化這一過程。

我認為安全模型(和Nginx重寫模塊)就像一個鐵路交換機,用於將每個用戶發送到他們自己的唯一編號軌道,以便前端處理userID的基本身份驗證,Nginx處理傳輸,以及當任何產品或任何對用戶ID有效的產品時,都會添加曲目的結尾。

因此,理論上,只有經過身份驗證(登錄)的用戶ID才能訪問付費視頻,但是任何用戶都可以請求它……結果可變。

  1. 為了使前端的界面和代碼維護簡單,而后端的代碼維護簡單,我只想使用1個位置指令,它將對(mydomain / video / *)進行任何請求並寫入/ var / www /視頻/用戶X /〜

請注意,網絡根目錄是/ var / www / mydomain,因此我要在網絡根目錄外部重寫視頻位置!

請求URI將在前端完全形成,並以http://domain.com/video/product1/videoFile.mp4(.webm任意...)的形式提供給任何有資格的成員的視頻播放器,因此URI的一部分將需要保存。

但是,如果我在wordpress中是UserID“ 13”,那么最好的方法是在單個位置指令中告訴Nginx我是“ user13”用戶?

抱歉,設置很長,但這是我可以介紹的方案中最簡單的部分-僅是一個包含多個工作部件的組件。

另外,我目前正在開發此解決方案,將在不到一周的時間內完成。 我很想聽聽任何反饋,當然,我正在尋找比我更擅長使用Shell腳本的人的“專家建議”。

#!/bin/bash
#####
# thanks to Olivier Dulac from StackOverflow
#####
export NBMIN=15

#find all subdirs jsut underneath each /var/www/flash/avmin/*/ that are $NBMIN minutes   old
for xdir in $(find /var/www/flash/avmin -type d -mindepth 2 -maxdepth 2 -cmin +${NBMIN} )
do
    #for those dirs, delete symlinks "just underneath", that are older than $NBMIN minutes
    find "$xdir" -mindepth 1 -maxdepth 1 -type L -cmin +${NBMIN} -exec rm '{}' \;
    #and then if there is nothing else in that dir, delete it:
    command rmdir "$xdir" -rf 
    #without -f and -r... will only remove "$i" directory if it's   empty!
   done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM