проблема с gzip?

Aln Kapa alnkapa at gmail.com
Mon Nov 26 09:16:45 UTC 2012


Проблема такая есть конфигурация php-fpm(PHP 5.4.4-9) ->nginx->haproxy(1.4.15),

nginx version: nginx/1.2.1
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-log-path=/var/log/nginx/access.log
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid
--with-pcre-jit --with-debug --with-http_addition_module
--with-http_dav_module --with-http_flv_module --with-http_geoip_module
--with-http_gzip_static_module --with-http_image_filter_module
--with-http_mp4_module --with-http_perl_module
--with-http_random_index_module --with-http_realip_module
--with-http_secure_link_module --with-http_stub_status_module
--with-http_ssl_module --with-http_sub_module --with-http_xslt_module
--with-ipv6 --with-sha1=/usr/include/openssl
--with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-auth-pam
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/chunkin-nginx-module
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/headers-more-nginx-module
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-development-kit
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-echo
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-http-push
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-lua
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-upload-module
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-upload-progress
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-upstream-fair
--add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-dav-ext-module

/etc/nginx/nginx.conf

user www-data;
worker_processes 10;
pid /var/run/nginx.pid;
error_log  /var/log/nginx/error.log;

events {
    worker_connections  4096;
    # multi_accept on;
}

http {
    server_tokens off;
    set_real_ip_from 127.0.0.1;
    tcp_nopush on;
    tcp_nodelay on;
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 9;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json
application/x-javascript text/xml application/xml application/xml+rss
text/javascript application/octet-stream;
    sendfile on;
    keepalive_timeout 180;
    log_format gzip '$remote_addr - $remote_user [$time_local] '
                '"$request" $status $bytes_sent '
                '"$http_referer" "$http_user_agent" "$gzip_ratio"';
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Проблема такая nginx  отдает данные не целиком, в логах написано так:
2012/11/26 12:42:41 [error] 32163#0: *42 upstream sent unsupported
FastCGI protocol version: 0 while reading upstream, client:
xxx.xxx.xxx.xxx, server: xxx.xxx.xx, request: "POST /object/update
HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm-my.sock:",
host: "xxx.xxx.xx", referrer: "http://xxx.xxx.xx/map"
Но если выключить сжатие gzip off; то все начинает работать нормально
и данные приходят целиком, происходит это только на данных в
приатаченном файле, со всем остальным проблем нет.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: json.data.gz
Type: application/x-gzip
Size: 25394 bytes
Desc: not available
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20121126/9b25b07f/attachment-0001.bin>


Подробная информация о списке рассылки nginx-ru