FCGI_END_REQUEST и закрытие соединения

Maxim Dounin mdounin at mdounin.ru
Thu Aug 20 17:59:57 MSD 2009


Hello!

On Thu, Aug 20, 2009 at 04:19:39PM +0300, opium wrote:

>
> Делаю все как описано в http://www.fastcgi.com/drupal/node/6?q=node/22#S4
>
> тоесть получаю запрос:
>
> {FCGI_BEGIN_REQUEST,   1, {FCGI_RESPONDER, 0}}
> {FCGI_PARAMS,          1, "\013\002SERVER_PORT80\013\016SER"}
> {FCGI_PARAMS,          1, "VER_ADDR199.170.183.42 ... "}
> {FCGI_PARAMS,          1, ""}
> {FCGI_STDIN,           1, "quantity=100&item=3047936"}
> {FCGI_STDIN,           1, ""}
>
> и даю ответ:
>
>     {FCGI_STDOUT,      1, "Content-type: text/html\r\n\r\n<html>\n<head>  
> ... "}
>     {FCGI_STDOUT,      1, ""}
>     {FCGI_END_REQUEST, 1, {0, FCGI_REQUEST_COMPLETE}}
>
> проблема в том, что пока приложение не закроет соединение -- nginx ничего
> не отдает http клиенту. с lighttpd все ок. это так и должно быть? nginx
> требует закрытия соединения? или ему недостаточно одного FCGI_END_REQUEST
> и нужно слать еще чтото?

Нужно закрыть соединение - как и предписывает отсутствие флага 
FCGI_KEEP_CONN в FCGI_BEGIN_REQUEST.

Ну или брать патчи для постоянных соединений к fastcgi.

Maxim Dounin





More information about the nginx-ru mailing list