nginx:位置条件+ secure_link

时间:2011-05-07 17:57:47

标签: configuration nginx

我很难搞清楚正确的配置。

我有一个网址 - 例如

http://example.com/[md5-checksum]/[num-value-1]/[num-value-2]/[file-name]
http://example.com/ac64392dba67d618ea6a76843c006708/123/56789/test.jpg

我想确保md5-checksum匹配 salt + num-value-2 。因此,应该忽略文件名和num-value-1(只有文件头标头需要)才能构建md5校验和。

以下配置不会导致我想要实现的目标。

location ~* ^/download/([a-zA-Z0-9]+)/([0-9]+)/([0-9]+)/(.*)$ {

   secure_link $3;
   secure_link_md5 segredo$3;

   if ($secure_link = "") {
      return 500;
   }

   set $filename $4;
   add_header Content-Disposition "attachment; filename=$filename";
   rewrite ^/download/([a-zA-Z0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$2/$3 break;

}

我感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

secure_link $3

应该是

secure_link $1