Сегодня скачал nginx 0.3.54 и запускаю через FastCGI свое приложение, которое
хитро отдает большие файлы. В частности, мне нужно узнавать о факте
завершения передачи файла юзеру, причем как успешного, так и тогда, когда
юзер оборвал коннект.
Из вот этого письма:
http://article.gmane.org/gmane.comp.web.nginx.russian/4246/match=fastcgi+bufferingя узнал, что nginx буферизует вывод FastCGI, что у меня слегка ломает сервис
:-) (Если интересно: при завершении передачи у меня файл с диска должен
удаляться, и поэтому когда nginx принимает данные из моей софтины быстрее,
чем у него их забирает юзер, то есть всегда, софтина убивает файл слишком
рано, и юзерский клиент натыкается на сообщения "файл не в корзине").
Из того же письма следует, что аналога опции "proxy_buffering off" для
FastCGI не существует, хотя она, вроде, как раз и должна обеспечить мне
нужную синхронную передачу. Однако я сейчас у себя в конфиге проставил именно
"proxy_buffering off" и все (вроде бы) заработало как надо.
Отсюда вопрос: это я у себя выдаю желаемое за действительное или опция стала
с тех пор работать и для FastCGI? Или для FastCGI есть отдельная опция?
Нет, FastCGI buffering off не работает.
Игорь Сысоев
http://sysoev.ru