Назад | Перейти на главную страницу

Безопасная ссылка Nginx с перезаписью

Я хочу создать безопасный URL-адрес с моделью безопасных ссылок Nginx и переписать. Таким образом, защищенная ссылка будет такой:
http://example.com/media/ZYSwFWTSM8DHh8CNupbbzw/1593525536/videos/tmp/793.mp4

И Rewrite преобразует его в:
http://example.com/media/videos/tmp/793.mp4?md5=ZYSwFWTSM8DHh8CNupbbzw&secure=1593525536

Итак, в конце откройте ссылку на видео:
http://example.com/media/videos/tmp/793.mp4

Это моя конфигурация сервера Nginx:

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 Forbidden», когда пытаюсь открыть эти защищенные ссылки:
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 работают сами по себе, но они не работают вместе.