ПРОЕКТЫ 


  АРХИВ 


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]

Произвольно обрываются большие POST запросы


  • To: nginx-ru@xxxxxxxxx
  • Subject: Произвольно обрываются большие POST запросы
  • From: "RedRat" <nginx-forum@xxxxxxxx>
  • Date: Thu, 28 Jun 2012 03:33:26 -0400 (EDT)
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=LyAtsyK2nmYKFPVFxhXnWQdnKOLy9istKf/Ei0rlCl4=; b=jD3zRXpG8X4MOHcNmSlPVAR9EXIL2/ft+ZqEMXDpwcc5eOjaAGMlcwqhosBiPUh1wu0p0FXs0Oka92c+tLJ4ozXfPDJOK6cZKTRhzMPSPQEbfVKgAyYr9x1SWUfpd8Ed;

Во внутренней сети установлен сервер
GlassFish 3.1.2, снаружи к нему ходят через
reverse proxy на nginx. Всё замечательно
работает, кроме одного: при закачке
больших файлов (несколько десятков
мегабайт) процесс рвётся в
произвольный момент (но изредка
закачка всё же проходит). При этом
мелкие файлы (до мегабайта)
закачиваются влёт. При работе напрямую
с сервером GlassFish файлы любого объёма
закачиваются без проблем.

Снял дебаг-логи с nginx и дампы сетевой
активности от клиента до nginx и от nginx до
GlassFish, двое суток их изучал -
просветления не наступило. Видно
только, что в какой-то момент во время
закачки соединение неожиданно
закрывается клиентом, причём на одном и
том же файле это может случиться и
через сотню килобайт, и через несколько
мегов - закономерности не найдено.

Я подозреваю, что с проблемой
неустойчивой работы POST запросов до
меня кто-то уже сталкивался, поэтому
надеюсь услышать соображения общего
характера, что можно в такой ситуации
проверить/перенастроить. При
необходимости могу выложить все
мегабайты логов и дампов для успешных и
неуспешных запросов.

uname -rsm:

FreeBSD 8.3-RELEASE-p3 amd64

nginx -V: 

nginx version: nginx/1.2.1
TLS SNI support enabled
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I
/usr/local/include' --with-ld-opt='-L /usr/local/lib'
--conf-path=/usr/local/etc/nginx/nginx.conf
--sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
--error-log-path=/var/log/nginx-error.log --user=www --group=www
--with-debug
--http-client-body-temp-path=/var/tmp/nginx/client_body_temp
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp
--http-scgi-temp-path=/var/tmp/nginx/scgi_temp
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp
--http-log-path=/var/log/nginx-access.log --with-http_stub_status_module
--with-pcre --with-http_ssl_module

nginx.conf:

worker_processes        2;

events {
    use                 kqueue;
    worker_connections  1024;
}

http {
    include             mime.types;
    default_type        application/octet-stream;

    tcp_nopush          on;
    tcp_nodelay         on;
    sendfile            on;
    keepalive_timeout   65;

    include             vhost/*.conf;
}

vhost/eirc.conf:

server {
    listen              aaa.bbb.ccc.ddd;
    server_name         eirc.xxx.ru;

    access_log          /var/log/nginx/eirc-acc.log;
    error_log           /var/log/nginx/eirc-err.log debug;

    client_max_body_size        1024m;

    location = / {
        rewrite         ^ /eirc/ permanent;
    }

    location /eirc/ {
        proxy_buffering         off;
        proxy_pass              http://192.168.1.103:8080/eirc/;
        proxy_pass_header       Set-Cookie;
        proxy_pass_header       Content-Length;
        proxy_set_header        Cookie $http_cookie;
        proxy_http_version      1.1;
    }
}

Параметры "proxy_pass_header Content-Length" и
"proxy_http_version 1.1" появились в конфиге во
время поиска путей решения проблемы и
никакого влияния не оказали.

Надеюсь, кто-нибудь подтолкнёт меня в
правильном направлении. А то скоро
волос на моей голове совсем не
останется. :-(

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,228040,228040#msg-228040

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.