запрет докачки в зависимости от URI
AterCattus
nginx-forum на nginx.us
Ср Май 19 19:08:13 MSD 2010
Доброго времени суток.
Не удается решить проблему настройки сервера на запрет докачки статических файлов в том случае, когда в URI не содержится $remote_addr.
Важно именно наличие $remote_addr в URI (проверка регуляркой) и фактом того, то данный запрос является докачкой (есть заголовок Range со стартовым байтом большим нуля). Если не докачка, то наличие $remote_addr роли не играет.
Логика примерно следующая (не работает само собой):
[code]
location ~ /foobar/ {
if ($http_accept_ranges) { [i]# запрос с докачкой[/i]
rewrite '^(/foobar/.+/){$remote_addr}/(.+)$' $1$2 break; [i]# если есть нужный IP - редирект на файл. кроме прочего проблема, что $ в имени переменной идет как конец регулярки [/i]
return 403; [i]# запрет докачки из-за несовпадающего IP[/i]
}
rewrite '^(/foobar/.+/)[^/]+/(.+)$' $1$2 break; [i]# качается от начала, какой там IP - не важно[/i]
}
[/code]
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,88166,88166#msg-88166
Подробная информация о списке рассылки nginx-ru