Проблема не в этом, версия сервера -
последняя стабильная.
Писал по памяти. Сейчас проверил, да действительно сразу после $uri передавать секретное слово нельзя, но если оно с точки начинается, то можно. И ссылку в md5 надо передавать с локейшеном. Следующая конфигурация должна завестись.
location /p/ {
secure_link $arg_md5;
secure_link_md5 $remote_addr$uri.12345;
if ($arg_md5 = "") {
return 403;
}
if ($secure_link = "") {
return 403;
}
root /usr/local/nginx/html/p/;
}
<a href="" href="http://192.168.1.2:8080/p/" target="_blank" style="color: rgb(0, 0, 204); ">http://192.168.1.2:8080/p/file.rar?md5=<?=strtr(base64_encode(md5($_SERVER['REMOTE_ADDR']."/p/file.rar.12345", true)), '+/', '-_') ?>">файл</a>