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
|