Re: Bad file descriptor при посте картинки и включенной add before body
Corsar
nginx-forum на nginx.us
Вт Мар 23 14:38:41 MSK 2010
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