首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带重写的Nginx安全链接

带重写的Nginx安全链接
EN

Server Fault用户
提问于 2020-06-30 14:09:01
回答 1查看 998关注 0票数 1

我想做一个安全的URL与Nginx安全链接模型和重写。因此,安全链接类似于:http://example.com/media/ZYSwFWTSM8DHh8CNupbbzw/1593525536/videos/tmp/793.mp4

并将其重写为:http://example.com/media/videos/tmp/793.mp4?md5=ZYSwFWTSM8DHh8CNupbbzw&secure=1593525536

最后,打开这个视频链接:http://example.com/media/videos/tmp/793.mp4

这是我的Nginx服务器配置:

代码语言:javascript
复制
location /media {
       rewrite  /videos/([a-zA-Z0-9_\-]*)/([0-9]*)/tmp/(.*)\.mp4$ /media/videos/tmp/$3.mp4?md5=$1&expires=$2;
}
        
location /media/videos {
       secure_link $arg_md5,$arg_expires;
       secure_link_md5 "$secure_link_expires$uri SecretWord";

       if ($secure_link = "") { return 403; }
       if ($secure_link = "0") { return 410; }
}

问题是,当我试图打开这些安全链接时,我得到了"403禁止“:http://example.com/media/ZYSwFWTSM8DHh8CNupbbzw/1593525536/videos/tmp/793.mp4

虽然这些链接运行得很好:http://example.com/media/videos/tmp/793.mp4?md5=ZYSwFWTSM8DHh8CNupbbzw&secure=1593525536

同样,当我移除secure_link模型配置并尝试以下链接时:http://example.com/media/ZYSwFWTSM8DHh8CNupbbzw/1593525536/videos/tmp/793.mp4

录像还能用。

所以我真的不知道问题出在哪里,因为重写配置或secure_link_module本身就在工作,但它们没有一起工作。

EN

回答 1

Server Fault用户

发布于 2022-07-19 12:13:02

尝尝这个

代码语言:javascript
复制
location /securemedia {
       rewrite  /securemedia/([a-zA-Z0-9_\-]*)/([0-9]*)/(.*)$ /media/videos/$3?md5=$1&expires=$2;
}
        
location /media/videos {
       secure_link $arg_md5,$arg_expires;
       secure_link_md5 "$secure_link_expires$uri SecretWord";

       if ($secure_link = "") { return 403; }
       if ($secure_link = "0") { return 410; }
}

示例url http://example.com/securemedia/ZYSwFWTSM8DHh8CNupbbzw/1593525536/videos/tmp/793.mp4

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1023477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档