Есть подозрение, что когда клиент. подпадающий под условие
if ($country) {
rewrite .* /sorry.html last;
return 403;
}
пытается продолжить начатую закачку файла, то вместо ошибки 403 он получает
ошибку 416.
Это так и задумано?
Задумано строить такую конструкцию так:
error_page 403 /sorry.html;
if ($country) {
return 403;
}
location /sorry.html {
internal;
}
А в
if ($country) {
rewrite .* /sorry.html last;
return 403;
}
дело до "return 403" не доходит: URI изменяется на /sorry.html, а потом
идёт обработка /sorry.html. А 416 выдаётся скорее всего потому, что размер
/sorry.html гораздо меньше того, что попросили в Range (просили-то не
/sorry.html).
Игорь Сысоев
http://sysoev.ru