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