Привет всем.
Читал в документации про то, что браузеры некорректно обрабатывают ошибку 413.
Также читал одну из тех в этой конференции, где давался патч, чтобы можно было эту ошибку обрабатывать, но там же, в теме, было написано, что с определённой версии патч уже входит в дистрибутив nginx.
Собственно, проблема в том, что у меня не хочет обрабатывать эту ошибку. Подскажите, пожалуйста, почему nginx не хочет этого делать. Версия nginx -- 0.7.67.
Ошибку обрабатываю стандартно:
error_page 413 = /413;
При попытке закачать через веб-форму общий объем файлов больше, чем размер client_max_body_size, соединение просто обрывается. Браузер пишет "Соединение было сброшено", а сниффер пишет, что тип ошибки -- NS_ERROR_NET_RESET.
Как можно обработать 413-ую ошибку nginx'ом? Или патч-таки надо применить?
[code]Index: src/http/ngx_http_core_module.c
===================================================================
--- src/http/ngx_http_core_module.c (revision 2391)
+++ src/http/ngx_http_core_module.c (working copy)
@@ -917,6 +917,7 @@
"client intended to send too large body: %O bytes",
r->headers_in.content_length_n);
+ (void) ngx_http_discard_request_body(r);
ngx_http_finalize_request(r, NGX_HTTP_REQUEST_ENTITY_TOO_LARGE);
return NGX_OK;
}
[/code]