ПРОЕКТЫ 


  АРХИВ 


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



Hello!

On Tue, Mar 23, 2010 at 06:04:13AM -0400, Corsar wrote:

> Gentoo 64-х разрядная
> 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";
> 
> 
> Такая-же проблема при связке nginx 0.6.32 + php-cgi 5.5.12 по IP на 32-х 
> разрядном Debian-е.

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

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


 




Copyright © Lexa Software, 1996-2009.