Я хочу создать безопасный 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 работают сами по себе, но они не работают вместе.