ПРОЕКТЫ 


  АРХИВ 


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: Re[2]: Ошибка 502, linux 2.6, в бэкэнде апач 1.3 че рез tcp-сокеты



On Tue, 30 Jan 2007, [UnKn0wN] wrote:

On Tue, 30 Jan 2007 19:16:59 +0300
alexus <alexus@xxxxxxxx> wrote:

Здравствуйте, Игорь.

Последнее время (с ростом нагрузки) в логе появляются следующие строчки, а 
клиенты получают 502 Bad Gateway.
2007/01/30 06:01:03 [error] 16336#0: *3706761 upstream prematurely closed connection while reading response 
header from upstream, client: 66.249.65.238, server: www.coolsite.net, URL: "/top10/?curPos=90", 
upstream: "http://127.0.0.1:81/top10/?curPos=90";, host: "www.coolsite.net"

Это означает, что бэкенд закрыл соединение, ничего не передав.
Возможно, он вышел по сигналу, посмотрите error_log Апача.

В error_log апача следующее
[Tue Jan 30 19:04:57 2007] [info] [client 127.0.0.1] send timed out
[Tue Jan 30 19:04:57 2007] [info] [client 127.0.0.1] client stopped connection 
before rvputs completed

В access_log
127.0.0.1 - - [30/Jan/2007:19:04:57 +0300] "GET /top10/ HTTP/1.0" 200 - 
"http://cool.site.ru/dietology/dietology_25.html"; "Mozilla/4.0 (compatible; MSIE 6.0; Windows 
NT 5.1; SV1; MRA 4.7 (build 01670))"

nginx error_log
2007/01/30 19:04:57 [error] 16338#0: *4132604 upstream prematurely closed connection while reading response header from 
upstream, client: 194.186.86.50, server: cool.site.ru, URL: "/top10/", upstream: 
"http://127.0.0.1:81/top10/";, host: "cool.site.ru", referrer: 
"http://cool.site.ru/dietology/dietology_25.html";

Процессы никакие не умирают, видно по PID и времени запуска.

Была похожая проблема. nginx выдает ошибку 502 по причине того, что апач 
закрывает соединение раньше, чем все данные отдадутся клиенту. Имеет смысл 
разгрузить сервер, либо повысить мощность оного. Как вариант, проверьте файрвол 
на предмет check-state - keep-state, у меня на сервере проблема была в нем. 
Возможно, клиенты слишком долго тянут инфу, и апач раньше закрывает сокеты, чем 
все отдастся nginx'у, посему увеличьте время соединения апача и нгинкса. 
Проверьте пропускную способность канала, возможно, имеет смысл либо ставить 2 
сетевых карты и транковать их, либо сразу ставить гигабитную сетевую.

Закрывать соединение до того, как данные будут реально переданы клиенту -
это нормальная практика.


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



 




Copyright © Lexa Software, 1996-2009.