繁体   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