SCGI и сжатие ответов
Andrey Repin
hell-for-yahoo на umail.ru
Чт Дек 8 16:45:21 UTC 2011
Здравствуйте, Уважаемый(-ая, -ое) excanoe!
e> Столкнулся с данной ошибкой: ответы от
e> scgi сервера не сжимаются.
И как вы это определили?
curl -siIH "Accept-Encoding: deflate,gzip" http://хост/адрес_скрипта
что говорит?
e> привожу код сервера на руби и
e> конфигурацию nginx (конфигурация
e> тестовая):
e> ######################################################################
e> worker_processes 1;
e> events{
e> worker_connections 1024;
e> }
e> http{
e> server_tokens off;
e> default_type text/plain;
e> gzip on;
e> gzip_types text/plain;
e> types{
e> text/plain js css txt;
e> }
e> server{
e> return 404;
e> }
e> server{
e> server_name localhost;
e> scgi_buffering off;
e> location / {
e> try_files $uri @engine;
e> }
e> location @engine {
e> include scgi_params;
e> scgi_pass 127.0.0.1:9000;
e> }
e> }
e> }
e> ######################################################################
e> #coding: utf-8
e> require "socket"
e> require "thread"
e> require "openssl"
e> require "erb"
e> scgid=Socket.new(Socket::AF_INET,Socket::SOCK_STREAM,0)
e> scgid.bind(Socket.pack_sockaddr_in(9000,"127.0.0.1"))
e> scgid.listen(1)
e> loop{
e> scgi=scgid.accept[0]
e> Thread.new{
e> begin
e> f=File.new(Time.now.to_f.to_s+".bin","wb")
e> while(f.syswrite scgi.sysread 4096)==4096
e> end
e> f.close
e> File.unlink f.path
e> scgi.syswrite "Status: 200 OK\r\nContent-Type:
e> text/plain\r\n\r\n"
e> scgi.syswrite "ok"
e> #header_size =""
e> #header_pairs =""
e> #while (header_size=~/:/)==nil
e> # header_size+=scgi.sysread 1
e> #end
e> #header_size=header_size.to_i
e> #while header_pairs.size<header_size
e> # header_pairs+=scgi.sysread 1
e> #end
e> #env=Hash[*header_pairs.split("\0")]
e> #scgi.syswrite "Status: 200 OK\r\nContent-Type:
e> text/plain\r\nContent-Length: "+env.to_s.size.to_s+"\r\n\r\n"
e> #scgi.syswrite env.to_s
e> scgi.close
e> rescue=>err
e> p err
e> end
e> }
e> }
e> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,219800,219800#msg-219800
e> _______________________________________________
e> nginx-ru mailing list
e> nginx-ru на nginx.org
e> http://mailman.nginx.org/mailman/listinfo/nginx-ru
--
С уважением
Andrey Repin (hell-for-yahoo на umail.ru) четверг, 08.12.2011, <20:43>
Подробная информация о списке рассылки nginx-ru