Nginx Gzip无法正常工作

正如标题所说,Nginx的Gzip不工作,我已经尝试了许多configuration分散在互联网上没有工作,我真的很沮丧,当简单的事情不工作。

gzip.conf:

 gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_min_length 256; gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon; 

Chrome:

在这里输入图像说明

在这里输入图像说明

Chrome Audit: 在这里输入图像说明

Curl: 在这里输入图像说明

我清除了caching,一切仍然一样。

=======================

更新:

我已经testing过gzip压缩

http://checkgzipcompression.com/

并给了我:

在这里输入图像说明

但在Chrome显示:

在这里输入图像说明

Firefox:

在这里输入图像说明

removed gzip_vary

 * Hostname was NOT found in DNS cache * Trying 192.168.200.240... * Connected to 192.168.200.240 (192.168.200.240) port 80 (#0) > HEAD /js/main.js HTTP/1.1 > User-Agent: curl/7.35.0 > Host: 192.168.200.240 > Accept: */* > Accept-Encoding: deflate, gzip > < HTTP/1.1 200 OK HTTP/1.1 200 OK < Date: Sat, 03 Dec 2016 16:25:34 GMT Date: Sat, 03 Dec 2016 16:25:34 GMT < Content-Type: application/javascript Content-Type: application/javascript < Last-Modified: Fri, 02 Dec 2016 03:20:46 GMT Last-Modified: Fri, 02 Dec 2016 03:20:46 GMT < Connection: keep-alive Connection: keep-alive < ETag: W/"5840e88e-18ce" ETag: W/"5840e88e-18ce" * Server nginx is not blacklisted < Server: nginx Server: nginx < Expires: Sun, 03 Dec 2017 16:25:34 GMT Expires: Sun, 03 Dec 2017 16:25:34 GMT < Cache-Control: max-age=31536000 Cache-Control: max-age=31536000 < Content-Encoding: gzip Content-Encoding: gzip < * Connection #0 to host 192.168.200.240 left intact 

Without vary on Chrome: 在这里输入图像说明

nginx -V

 nginx version: nginx/1.10.1 built with OpenSSL 1.0.1f 6 Jan 2014 TLS SNI support enabled configure arguments: --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_flv_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_secure_link_module --with-http_sub_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/headers-more-nginx-module --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-auth-pam --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-cache-purge --add-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-dav-ext-module --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-development-kit --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-echo --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/ngx-fancyindex --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nchan --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-lua --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-upload-progress --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-upstream-fair --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/ngx_http_substitutions_filter_module 

看起来像你的服务器是gzip启用(见curl响应和checkgzip压缩结果)。 但是因为你正在使用gzip_vary on; 指令你得到Vary: Accept-Encoding头。

所以基本上服务器允许客户决定https://www.maxcdn.com/blog/accept-encoding-its-vary-important/

什么编码使用。 如果它已经有了未压缩的文件,它不会得到一个压缩的文件(对我来说也是奇怪的,但这是知识性的文章所述)。

我知道这与您看到的“硬刷新caching清理页面”不一致。 但这是一个线索,尝试设置它,重新启动nginx并再次检查(当然,validationgzip.conf实际上是由nginx使用和使用)

这一直是我的杀毒软件,类似的问题,这个职位: nginx gzip启用,但不是没有gzipping

我认为这不是因为我在testing时暂时禁用了我的防病毒软件,但是我认为防病毒软件甚至会禁用它。

而且,即使我有杀毒软件,我检查过的其他网站也是gzipped ,很奇怪,所以我认为这不是我的杀毒软件。

但是我已经在一台只装有chrome的全新虚拟机上进行了testing,并且通过远程debugging在我的移动设备上显示了gzip

然后,我已经在虚拟机上安装了防病毒,然后Content-Encoding: gzip不见了。

我也检查了wireshark的内容是真正gzipped 。 但不知何故,防病毒解压缩。

我的工作区和虚拟机中的两个版本的chrome都是一样的。

Chrome Version 54.0.2840.99