Приветствую.
1) Для proxy_cache и range есть небольшой патч от Maxim Dounin (
http://forum.nginx.org/read.php?2,225815,225826#msg-225826) который насколько я понимаю не внесен в основную ветку разработки (из-за проблем при max_ranges >1), но в случае применения его решает проблему получения 200 OK при первом запросе к бэкенду и заполнении кэша. Может быть имеет смысл включить такое поведение по умолчанию при max_ranges 1;? Многие современные браузеры в части воспроизведения HTML5 видео сурово завязаны на 206 и правильный Range в ответ на свои запросы, мне кажется, что было бы неплохо учесть существующие реалии.
2) nginx ни за что не отдаст 206 ответ при запросе c Range к закэшированному файлу, если в оригинальном ответе бэкенда не было заголовка Accept-Ranges. Поведение мягко говоря не очевидное, стоило мне нескольких часов попыток понять, что происходит. RFC говорит, что заголовок совершенно опциональный, более того, если nginx уже получил полное тело файла, имеет Content-Length ответа и пр. ? еще более непонятно, что мешает ему отдавать ожидаемые клиентом 206.
Данила.