ПРОЕКТЫ 


  АРХИВ 


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: upload файла размером больше client_max_body_size



On Thu, Oct 18, 2007 at 05:02:45PM +0300, Sergio Gorelyshev wrote:

> Доброго времени суток.
> 
> Есть связка apache2 + nginx в кач-ве бэкенда.
> 
> Проблема: при аплоде файла размером больше client_max_body_size  
> наблюдается непонятное поведение (скорее всего nginx): в error.log  
> появляется сообщение:
> 
> 2007/10/18 17:20:34 [error] 6325#0: *1 client intented to send too  
> large body: 1191520 bytes, client: 87.252.238.164, server:  
> www.site.com, URL: "/settings/", host: "www.site.com", referrer:  
> "https://www.site.com/settings/";
> 
> После этого по истечении ровно proxy_read_timeout в этом же логе:
> 
> 2007/10/18 17:21:34 [error] 6325#0: *1 upstream timed out (110:  
> Connection timed out) while reading response header from upstream,  
> client: 87.252.238.164, server: www.site.com, URL: "/settings/",  
> upstream: "https://127.0.0.1:4431/settings/";, host: "www.site.com",  
> referrer: "https://www.site.com/settings/";
> 
> При этом никаких признаков 413 вообще нет (проверял IE, FF, Opera,  
> Safari), только в FF и Opera отдается 504 с дефолтовым(!!!)  
> контентом, несмотря на директивы
> 
> error_page   504 /504.html;
> location /504.html {
>             root  /home/www/htdocs/static;
> }
> 
> В логах apache про POST вообще ничего нет, из чего сделал вывод, что  
> затыкается именно на nginx. В логе access.log (nginx) появляется строка:
> 
> 87.252.238.164 - - [18/Oct/2007:17:22:53 +0400] "POST /settings/ HTTP/ 
> 1.1" 504 183 " https://www.site.com/settings/"; "Opera/9.23 (Windows  
> NT 5.1; U; en)"
> 
> Но опять же,  вместо кастомной 504 отдается, видимо built in, 504 -  
> Gateway time out
> 
> Долго игрался со всякими timeout'ами в nginx, однако только 1 имеет  
> видимый эффект: proxy_read_timeout. Именно с таким интервалом в  
> error.log отображаются 2 предыдущих сообщения.  Однако, судя по  
> документации, этот параметр определяет таймаут между apache (в моем  
> случае) и nginx.
> 
> Интересует возможность отображения кастомной страницы в случае, если  
> размер файла больше client_max_body_size.

Я правильно понимаю, что что-то вроде

error_page  413  запрос_на_бэкенд;

в конфигурации есть ?

> nginx version: nginx/0.5.31
> 
> Спасибо.
> 
> P.S. http://sysoev.ru/web/upload.html читал.
> 
> P.P.S. В
> http://sysoev.ru/nginx/docs/example.html
> 
> proxy_connect_timeout      90;
> 
> при этом http://sysoev.ru/nginx/docs/http/ 
> ngx_http_proxy_module.html#proxy_connect_timeout:
> Директива задаёт таймаут для соединения с проксированным сервером.  
> Необходимо иметь в виду, что этот таймаут не может быть больше 75  
> секунд.
> 
> Это просто FYI.

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



 




Copyright © Lexa Software, 1996-2009.