*1 sendfile() failed (9: Bad file descriptor) while sending request to upstream
Roman Mashirov
mrj at nandu.ru
Wed Apr 23 12:29:01 MSD 2008
Добрый день!
Есть следующая конфигурация:
...
location ^~ /profile/ {
proxy_pass http://backend;
ssi on;
}
location /block {
root /1/www/nginxtest/cache;
error_page 404 = @fallback;
allow 127.0.0.1;
deny all;
}
...
Бэкэнд должен обработать post и вернуть страницу с основным куском и
пачкой <!--#include file="/block"> которые в свою очередь будут
обработаны nginx и либо взяты из локального дискового кэша либо
перенаправлены снова на бэк. Так вот для перенаправляемых на бэк
запросов получаю в логе:
2008/04/23 12:07:56 [error] 87079#0: *70 open()
"/1/www/nginxtest/cache/block/1353" failed (2: No such file or
directory), client: 89.223.40.177, server: frontend, URL: "/profile/",
subrequest: "/block/1353", host: "frontend:8080", referrer:
"http://frontend:8080/profile/"
2008/04/23 12:07:56 [error] 87079#0: *70 open()
"/1/www/nginxtest/cache/block/1355" failed (2: No such file or
directory), client: 89.223.40.177, server: frontend, URL: "/profile/",
subrequest: "/block/1355", host: "frontend:8080", referrer:
"http://frontend:8080/profile/"
2008/04/23 12:07:56 [crit] 87079#0: *70 sendfile() failed (9: Bad file
descriptor) while sending request to upstream, client: 89.223.40.177,
server: frontend, URL: "/profile/", subrequest: "/block/1357", upstream:
"http://195.70.197.24:80/block/1357", host: "frontend:8080", referrer:
"http://frontend:8080/profile/"
2008/04/23 12:07:56 [crit] 87079#0: *70 sendfile() failed (9: Bad file
descriptor) while sending request to upstream, client: 89.223.40.177,
server: frontend, URL: "/profile/", subrequest: "/block/1357", upstream:
"http://195.70.197.24:80/block/1357", host: "frontend:8080", referrer:
"http://frontend:8080/profile/"
Все работает правильно если запрос достаточно мал и помещается в буфер в
памяти. Ошибка возникает только для больших форм. Пробовал ставить
include virtual wait="yes" вместо include file -- не помогло.
Настораживает еще и то, что в сообщениях про sendfile filed говорится
про один и тот-же блок, в то время как исходно инклюдились разные...
Подскажите, плс, куда рыть?
Заранее спасибо,
--
MRJ
More information about the nginx-ru
mailing list