ПРОЕКТЫ 


  АРХИВ 


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]

upload файла размером б ольше client_max_body_size


  • To: nginx-ru@xxxxxxxxx
  • Subject: upload файла размером б ольше client_max_body_size
  • From: Sergio Gorelyshev <cto@xxxxxxxxxxxxxx>
  • Date: Thu, 18 Oct 2007 17:02:45 +0300

Доброго времени суток.

Есть связка 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. 

nginx version: nginx/0.5.31

Спасибо.


P.P.S. В 

proxy_connect_timeout      90;

Директива задаёт таймаут для соединения с проксированным сервером. Необходимо иметь в виду, что этот таймаут не может быть больше 75 секунд.

Это просто FYI.


 




Copyright © Lexa Software, 1996-2009.