[Perl] nginx + fastcgi -> x-accel-redirect

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
spens
рядовой
Сообщения: 15
Зарегистрирован: 2008-12-09 13:36:28

[Perl] nginx + fastcgi -> x-accel-redirect

Непрочитанное сообщение spens » 2010-11-29 18:55:13

Всем привет.

Столкнулся с проблемой в такой схеме:

из нжинкса запрос передается на fastcgi на котором висит перл скрипт проверки, который после проверки должен вернуть хидер X-Accel-Redirect нжинксу в internal локейшн.

Код: Выделить всё

#!/usr/bin/perl
 use strict;
 use FCGI;
 require HTTP::Headers;

 while (FCGI::accept >= 0) {

тут условия проверок, отрабатываются корректно.
результат проверок - ссылка на файл

 my $redirect = "/private/file.txt";

 my $h = HTTP::Headers->new();
 $h->header('X-Accel-Redirect' => $redirect);
}
получаю 502, нжинкс ругается

Код: Выделить всё

[error] 81647#0: *2436 upstream closed prematurely FastCGI stdout while reading response header from upstream

Может кто делал подобные финты в перле? Я просто впервые столкнулся с необходимостью передать редирект.

Спасибо заранее.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

spens
рядовой
Сообщения: 15
Зарегистрирован: 2008-12-09 13:36:28

Re: [Perl] nginx + fastcgi -> x-accel-redirect

Непрочитанное сообщение spens » 2010-11-29 20:14:37

Оказывается в конец надо было добавить

print $h->as_sting;