ПРОЕКТЫ 


  АРХИВ 


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: Bad file descriptor при посте кар тинки и включенной add before body


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Bad file descriptor при посте кар тинки и включенной add before body
  • From: "Corsar" <nginx-forum@xxxxxxxx>
  • Date: Tue, 23 Mar 2010 07:38:41 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=wH11CBRNeoR7nBexXkJHDVH5fUnFyQuUGyJsGvemysE=; b=hQhjLIHTDbDpH9areCvIcmSo6LAHtLCQhhKnNIP3u4Ny02xZV3QJWD47LnD1JYfiTomEYCShW6ekowo06zAlAIB9Slik8vjJPQYXp48VebjhHWkyfU6NVTHUC2ioZPJD;
  • In-reply-to: <20100323111457.GO76989@xxxxxxxxxx>
  • References: <20100323111457.GO76989@xxxxxxxxxx>

Maxim Dounin Wrote:
> > Nginx 0.7.64, через сокет
> привязал php-fpm 5.3.1
> > В настройках
> виртуал-сервера прописан
> add_before_body с путем /path/some_file.php
> > Постчу картинку, картинка
> закачивается,
> показывается, но вверху
> страницы имеем 502 ошибку.
> > В логах nginx-а следующее:
> > 2010/03/23 07:13:27  7043#0: *1554413 pread()
> failed, file "/var/tmp/nginx/client/0000000153"
> (9: Bad file descriptor) while sending request to
> upstream, client: 1.2.3.4, server: host.ru,
> request: "POST /upload.php? HTTP/1.1", subrequest:
> "/path/some_file.php", upstream:
> "fastcgi://unix:/var/run/php-fpm.sock:", host:
> "host.ru", referrer: "http://host.ru/upload.php";
> > 
> Known issue.  После отправки
> заголовков основного
> ответа - файл с 
> телом запроса закрывается
> (дабы не держать его на
> диске без нужды, 
> 0.3.3+), а подзапросы его снова
> пытаются использовать. 
> Workaround 
> - для подзапросов явно
> прописывать
> 
>     proxy_pass_request_body off;
>     proxy_set_header Content-Length "";
> 
> а для fastcgi соответственно
> 
>     fastcgi_pass_request_body off;
> 
> Т.е. в вашем случае как-то
> так:
> 
>     location = /path/some_file.php {
>         fastcgi_pass_request_body off;
>         fastcgi_pass ...
>         ...
>     }
> 
> Возможно для fastcgi ещё
> понадобится заменить
> fastcgi_param 
> CONTENT_LENGTH на:
> 
>     fastcgi_param CONTENT_LENGTH 0;
> 
> Но может и без этого
> заработать, зависит от
> приложения.
> 
> Maxim Dounin


Спасибо, помогло.
    fastcgi_param  CONTENT_LENGTH   0;
    fastcgi_pass_request_body off;

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


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


 




Copyright © Lexa Software, 1996-2009.