ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ошибка в запросе к FastCGI серверу


  • To: nginx-ru@xxxxxxxxx
  • Subject: ошибка в запросе к FastCGI серверу
  • From: Znikus M <znikus@xxxxxxx>
  • Date: Wed, 10 Jan 2007 20:09:45 +0300

Доброго времени суток, уважаемое сообщество. 
У меня возникли проблемы с запросом к FastCGI серверу. Хотелось бы узнать, 
кривые ли у меня руки(так как работаю с fcgi недавно) или где то кроется ошибка 
в настройке. 
Существует следующая схема:

1. При заходе по следующей ссылке 
http://dl.server.com:8085/4UO54ADIQZ6YXW3M56UMU/pestnya.mp3, dl.server.com, на 
8085 порту у котрого весит nginx, должен сделать запрос на скрипт 
http://new.server.com/remote_serv/download-start.cgi?crypt=4UO54ADIQZ6YXW3M56UMU.
 (new.server.com весит на апаче)
2. Скрипт возвращает X-accel-redirect на файл соотвествующий данному коду 
4UO54ADIQZ6YXW3M56UMU или не возвращает ничего соответственно. 
3. После окончания довнлоада вызывается скрипт 
http://new.server.com/remote_serv/download-stop.cgi. Который фиксирует 
статистические данные. 

Чтобы не убить машину перлом, я решил, что эти два скрипта (download-start.cgi, 
download-stop.cgi) должны быть фаст-cgi-ые. Установил модуль для апачи и перла 
соответственно. Тествый скрипт на new.server.com отработал замечательно. Далее 
пытался сделать обращение к FastCGI серверу уже через nginx, но ничего не 
заработало. 

Вот конфиг nginx:

server {

        listen       8085;
        server_name  dl.server.com;
        root   /www/dl.server.com;

        charset windows-1251;

        access_log  logs/host.access.log main;
        error_log logs/host.error.log info;
        error_log  logs/debug_debug debug;

        location / {

                rewrite ^/(.+)/.+\..+ /remote_serv/download-start.fcgi?crypt=$1 
last;

         }

        location /remote_serv {

            fastcgi_pass   (new.server.com IP):80;
           #fastcgi_pass   new.server.com:80;
           
             fastcgi_index /;
             fastcgi_pass_header Host;

             fastcgi_param  Host new.server.com;

             fastcgi_param  SCRIPT_FILENAME  
/www/new.server.com/remote_serv$fastcgi_script_name;
             fastcgi_param  QUERY_STRING     $query_string;
             fastcgi_param  REQUEST_METHOD   $request_method;
             fastcgi_param  CONTENT_TYPE     $content_type;
             fastcgi_param  CONTENT_LENGTH   $content_length;

             fastcgi_param  X-Real-IP  $remote_addr;

    
        }

        
        location /data {

            post_action /stop;
        }

        location /stop {
            internal;
            rewrite ^ 
/remote_serv/download-stop.fcgi?req_com=$request_completion&bytes_sent=$body_bytes_sent
 last;
        }

}

при следующей конфигурации в дебаг логе появляется следующая ошибка:
................
2007/01/10 22:01:15 [debug] 14582#0: *3 connect to (new.server.com IP):80, fd:4 
#4
2007/01/10 22:01:15 [debug] 14582#0: *3 kevent set event: 4: ft:-1 fl:0025
2007/01/10 22:01:15 [debug] 14582#0: *3 connected
2007/01/10 22:01:15 [debug] 14582#0: *3 http upstream connect: 0
2007/01/10 22:01:15 [debug] 14582#0: *3 http upstream send request
2007/01/10 22:01:15 [debug] 14582#0: *3 chain writer buf size: 320
2007/01/10 22:01:15 [debug] 14582#0: *3 chain writer in: 080AC9C8
2007/01/10 22:01:15 [debug] 14582#0: *3 writev: 320 of 320
2007/01/10 22:01:15 [debug] 14582#0: *3 chain writer out: 00000000
2007/01/10 22:01:15 [debug] 14582#0: *3 event timer add: 4: 60000:235430649
2007/01/10 22:01:15 [debug] 14582#0: *3 http upstream check client, write 
event:1, "/remote_serv/download-start.fcgi"
2007/01/10 22:01:15 [debug] 14582#0: *3 http upstream process header
2007/01/10 22:01:15 [debug] 14582#0: *3 malloc: 080CC000:4096
2007/01/10 22:01:15 [debug] 14582#0: *3 recv: eof:0, avail:266, err:0
2007/01/10 22:01:15 [debug] 14582#0: *3 recv: fd:4 266 of 4096
2007/01/10 22:01:15 [debug] 14582#0: *3 http fastcgi record byte: 3C
2007/01/10 22:01:15 [error] 14582#0: *3 upstream sent unsupported FastCGI 
protocol version: 60 while reading response header from up
stream, client: 62.205.123.10, server: dl.server.com, URL: 
"/4UO54ADIQZ6YXW3M56UMU/pestnya.mp3", upstream: "
fastcgi://(new.server.com IP):80", host: "dl.server.com:8085"
2007/01/10 22:01:15 [debug] 14582#0: *3 http next upstream, 8
2007/01/10 22:01:15 [debug] 14582#0: *3 free rr peer 1 4
2007/01/10 22:01:15 [debug] 14582#0: *3 finalize http upstream request: 502
2007/01/10 22:01:15 [debug] 14582#0: *3 finalize http fastcgi request
2007/01/10 22:01:15 [debug] 14582#0: *3 free rr peer 0 0
2007/01/10 22:01:15 [debug] 14582#0: *3 close http upstream connection: 4
2007/01/10 22:01:15 [debug] 14582#0: *3 event timer del: 4: 235430649
2007/01/10 22:01:15 [debug] 14582#0: *3 http finalize request: 502, 
"/remote_serv/download-start.fcgi?crypt=4UO54ADIQZ6YXW3M56UMU"
2007/01/10 22:01:15 [debug] 14582#0: *3 http special response: 502, 
"/remote_serv/download-start.fcgi"
2007/01/10 22:01:15 [debug] 14582#0: *3 http set discard body
2007/01/10 22:01:15 [debug] 14582#0: *3 HTTP/1.1 502 Bad Gateway
Server: nginx/0.5.5
Date: Wed, 10 Jan 2007 22:01:15 GMT
Content-Type: text/html
Content-Length: 532
Connection: keep-alive


2007/01/10 22:01:15 [debug] 14582#0: *3 write new buf t:1 f:0 080ACAE8, pos 
080ACAE8, size: 156 file: 0, size: 0
2007/01/10 22:01:15 [debug] 14582#0: *3 http write filter: l:0 f:0 s:156
2007/01/10 22:01:15 [debug] 14582#0: *3 http output filter 
"/remote_serv/download-start.fcgi?crypt=4UO54ADIQZ6YXW3M56UMU"
2007/01/10 22:01:15 [debug] 14582#0: *3 copy filter: 
"/remote_serv/download-start.fcgi?crypt=4UO54ADIQZ6YXW3M56UMU"
2007/01/10 22:01:15 [debug] 14582#0: *3 http postpone filter 
"/remote_serv/download-start.fcgi?crypt=4UO54ADIQZ6YXW3M56UMU" 080ACC8C
2007/01/10 22:01:15 [debug] 14582#0: *3 http postpone filter out 
"/remote_serv/download-start.fcgi?crypt=4UO54ADIQZ6YXW3M56UMU"
2007/01/10 22:01:15 [debug] 14582#0: *3 write old buf t:1 f:0 080ACAE8, pos 
080ACAE8, size: 156 file: 0, size: 0
2007/01/10 22:01:15 [debug] 14582#0: *3 write new buf t:0 f:0 00000000, pos 
08094980, size: 120 file: 0, size: 0
2007/01/10 22:01:15 [debug] 14582#0: *3 write new buf t:0 f:0 00000000, pos 
080939E0, size: 52 file: 0, size: 0
2007/01/10 22:01:15 [debug] 14582#0: *3 write new buf t:0 f:0 00000000, pos 
08093A20, size: 360 file: 0, size: 0
2007/01/10 22:01:15 [debug] 14582#0: *3 http write filter: l:1 f:0 s:688
2007/01/10 22:01:15 [debug] 14582#0: *3 http write filter to send 0
2007/01/10 22:01:15 [debug] 14582#0: *3 writev: 688 of 688
2007/01/10 22:01:15 [debug] 14582#0: *3 http write filter 00000000
2007/01/10 22:01:15 [debug] 14582#0: *3 copy filter: 0 
"/remote_serv/download-start.fcgi?crypt=4UO54ADIQZ6YXW3M56UMU"
2007/01/10 22:01:15 [debug] 14582#0: *3 http finalize request: 0, 
"/remote_serv/download-start.fcgi?crypt=4UO54ADIQZ6YXW3M56UMU"
2007/01/10 22:01:15 [debug] 14582#0: *3 set http keepalive handler
2007/01/10 22:01:15 [debug] 14582#0: *3 http close request
2007/01/10 22:01:15 [debug] 14582#0: *3 http log handler
2007/01/10 22:01:15 [debug] 14582#0: *3 free: 080CC000
2007/01/10 22:01:15 [debug] 14582#0: *3 free: 080AC000, unused: 584
2007/01/10 22:01:15 [debug] 14582#0: *3 event timer add: 3: 65000:235435651
2007/01/10 22:01:15 [debug] 14582#0: *3 free: 080AB000
2007/01/10 22:01:15 [debug] 14582#0: *3 free: 080AB400
2007/01/10 22:01:15 [debug] 14582#0: *3 hc free: 00000000 0
2007/01/10 22:01:15 [debug] 14582#0: *3 hc busy: 00000000 0
2007/01/10 22:01:15 [debug] 14582#0: *3 tcp_nodelay
2007/01/10 22:01:15 [debug] 14582#0: *3 http empty handler
.......................


Самое интересное, что на dl.server.com:80 весит апаче, и вот какая штука 
появяляется в access логе, когда я обращаюсь на 
http://dl.server.com:8085/4UO54ADIQZ6YXW3M56UMU/pestnya.mp3, где на 8085 порту 
весит nginx:

(new.server.com IP) - - [10/Jan/2007:22:08:18 +0000] "\x01\x01" 501 266 "-" "-" 
"-"



Подскажите пожалуйста, где я допустил ошибку в настройках? 
зы: Апачи и nginx установлены на одной машине.




 




Copyright © Lexa Software, 1996-2009.