ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Загрузка больших файлов



On Mon, 5 Sep 2005, Andrei Nigmatulin wrote:

On Monday 05 September 2005 14:45, Igor Sysoev wrote:
On Mon, 5 Sep 2005, Andrei Nigmatulin wrote:
При загрузке в fastcgi приложение файлов, чей размер больше
client_max_body_size, nginx похоже просто закрывает соединение, не
выдавая клиенту ничего. Можно ли как-то отловить эту ошибку, чтобы
показать клиенту страничку с объяснениями где он не прав ?

В каком браузере тестировалось ?
nginx выдаёт 413 ошибку, но вот не все браузеры умеют её показывать:
http://sysoev.ru/web/upload.html

В Firefox 1.0.6 и Konqueror 3.4.0.

Firefox выдает popup окно "Document contains no data"

У меня на старых Мозиллах работало нормально. Как обстоит с современными,
не смотрел.

Konqueror выдает страницу с ошибкой

An error occurred while loading http://xxxxx.ru/upload.phtml:
Connection to host xxxxx.ru is broken.

А на быстром соединении (или на localhost) тоже такие же ошибки ?

Как я понял из статьи, как только веб сервер получает от клиента
Content-Length, он может ответить клиенту 413 и закрыть соединение на чтение,
спровоцировав broken pipe в броузере ? А как делает nginx ?

nginx, как и Апач, делает lingering close с тем лишь отличием, что у
nginx оно настраивается:

lingering_time     30;
lingering_timeout  5;

Это значения по умолчанию. lingering_time - максимальное время
lingering close, а lingering_timeout - таймаут между двумя операциями
чтения. У Апача эти числа 30 и 2 соответственно.

Ну и ещё, Apache всегда делает lingering close, а nginx - только, если
в запросе есть Content_Length.


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.