Articles of gzip

奇怪的HTTP gzip问题

这是一个奇怪的: 我有nginx的反向代理请求与mod_php的Apache 2。 一个用户(使用Firefox 3.1b3)报道说,最近他开始零星的“该怎么用firefox做这个文件?” 正常导航期间popup窗口 。 关于这个问题,我们还没有任何其他的报道,也没有能够自己复制。 我检查了Nginx和Apache的日志。 错误日志中没有任何内容,它们都显示请求的正常HTTP 200。 我让他把下载的文件发给我,并且它生成了HTML,因为它应该是 – 除了它有一些尾随和领先的字节。 开头字节序列是魔术gzip头:1F8B08 这里是开头的字符,为了方便起见,C-escaped: \x1F\x8B\x089608\r\n<!DOCTYPE HTML … 该文件结束于: …</html>\n\r\n0\r\n\r\n 当我通过wget获取相同的URL时,它按照预期开始; 神秘的开启和closures字节无处可见。 有没有人见过类似的东西? 这可能是一个FF 3.1b3的错误?

我如何禁用PHP的nginx gzip?

我打算阻止nginx从gzipping一个PHP请求。 我已经有了以下内容: @ini_set('zlib.output_compression', 'Off'); @ini_set('implicit_flush', 1); header('X-Accel-Buffering: no'); 根据我发现的一切,单独使用X-Accel-Buffering应该禁用gzip,但是当我从浏览器加载这个页面时,我仍然可以看到标题: Content-Encoding:gzip 我使用的是php7-fpm,nginx 1.10.1,debian8 编辑: 我做了一个testing,使用sleep()来延迟输出。 它看起来像header('X-Accel-Buffering: no'); 是工作,但它只能防止缓冲,而不是gzipping。 我想gzip是以某种方式作为一个stream。 我可以看到,如果我输出1000个字节,循环echo声明每个1个字符,浏览器接收大约11kb。 如果我回显str_rep x 1000,那么发送的数据less得多。 那里一定有一些开销。 无论如何,我需要禁用gzip,以便我可以发送大量内容并测量下载时间。 如果它被压缩,我不知道实际吞吐量是多less。

nginx gzip压缩似乎不起作用

我试图找出为什么我的自定义CDN Nginx,似乎没有工作。 这是我在我的网站configuration: server { listen 80; listen [::]:80; server_name cdn.site.co.uk; root /srv/www/site.co.uk/bob_user; if ($uri !~ "\.(gif|jpe?g|png|js|css|eot|woff|ttf|svg)$") { rewrite ^/(.*)$ https://site.co.uk/ permanent; } 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_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; } 该文件本身的作品 – 但使用这个工具,它告诉我,它确实: https://varvy.com/tools/gzip/ 这是我testing的URL: http://cdn.businessofbrands.co.uk/wp-includes/js/jquery/jquery.js 我有点困惑,为什么这是。 […]

如何工作gzip_types图像/ jpeg

我现在总是和nginx一起使用gzip,但是从来不用它来处理图像。 尝试find这种解决scheme的一些冒险/不利之处,但没有发现。 当然,我可以在nginx中使用客户端caching,并为图像设置过期date – 但是,然后第一次加载将永远是满负荷没有任何优化。 所以我应该或不应该gzip图像jpeg png等? 这种types的commpresion做什么 – 改变图像的压缩质量较低?

如何禁用Nginx的双gzip编码fastcgi后端偶尔服务gzipped与内容编码?

如果后端已经设置了“content-encoding”标题,是否有任何巧妙的方法来欺骗nginx来停止gzip? Nginxconfiguration为从fastcgi后端gzip输出。 这在99%的情况下效果很好。 除了极less数情况下,php会发送一个原始的gzip文件并附加一个Content-Encoding: gzip头文件。 不幸的是,Nginx会马上推出,并尝试第二次gzip这个内容。 产生一个双重content-encoding: gzip content-encoding: gzip头文件和双重编码的gzip正文。 大多数现代浏览器可以处理这个,Firefox,Chrome。 IE8不能,Safari移动不能,旧的Safari 5的Windows不能 – 相反,他们会显示乱码的gzip内容,因为它合并内容编码标题,只解码一次gzip体。 感谢您的任何想法。

Nginx和Rails的gzipconfiguration

我有nginx + gzip + railsconfiguration的问题。 我的nging.conf如下所示: gzip on; gzip_http_version 1.0; gzip_comp_level 2; gzip_proxied any; gzip_min_length 1100; gzip_buffers 16 8k; gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable "MSIE [1-6].(?!.*SV1)"; gzip_vary on; 问题是,轨道生成的CSS文件不gziped。 例如这个url http://host.com/stylesheets/main.css?1324378206 是不是gziped(在Firefox中检查),但是当我删除导轨生成的时间戳它显示gzipped: http://host.com/stylesheets/main.css 任何人都可以知道如何使第一个url也被压缩?

tornadoweb gzip = True不能在supervisord和nginx下工作

在使用龙卷风的同时,我发现gzip = True特性,从命令行运行应用程序时可以正常工作,下面是设置: define("port", default=settings.LISTEN_PORT, help="run on the given port", type=int) define("debug", default=True, help="run in debug mode", type=bool) define("dont_optimize_static_content", default=False, help="Don't combine static resources", type=bool) define("dont_embed_static_url", default=False, help="Don't put embed the static URL in static_url()", type=bool) tornado.options.parse_command_line() tornado.options.options['log_file_prefix'].set('/var/log/tmp.log') app_settings = dict( template_path=os.path.join(os.path.dirname(__file__), "templates"), static_path=os.path.join(os.path.dirname(__file__), "static"), xsrf_cookies=False, gzip=True, debug=True, ) 然而,从龙卷风服务器部署应用程序supervisord / nginx响应不gziped。 [program:app-8001] command=python /var/app/server/app.py […]

如果在proxy_pass响应中存在etag,则禁用gzip

我是nginx的新手。 有没有办法禁用gzip如果proxy_pass重新创buildETag标题。 IE: gzip on; . . . location /foo/bar { proxy_pass http://server:123; if ($upstream_http_etag) { gzip off; } } 基本上我正在寻找一个解决这个bug的方法,如果服务器响应etag头,将禁用gzip压缩。 http://trac.nginx.org/nginx/ticket/377 谢谢维塔利

nginx gzip_static不会自动创build不存在的gz文件?

我只是好奇… nginx会检测同一目录中的gz文件,如果不存在,它将使用即时gzip并返回响应(如果gzip) 所以…当我们打开gzip_static,为什么nginx不创build一个gz文件与输出gzipped响应?这是关于中继编码或其他? 所以我真的需要编写一个bash脚本来创build/更新gz文件,每次修改静态文件,对吧? 谢谢^ _ ^

在Nginx上启用gzip而不用“'http'指令不允许在这里”错误

我已经inheritance了需要启用gzip的代码库。 我将这些行添加到了我的nginx staging.conf文件(在另外两个地方显示:/ etc / nginx / sites-enabled /和/ etc / nginx / sites-available /)。 http { # enable gzip compression gzip on; gzip_min_length 1100; gzip_buffers 4 32k; gzip_types text/plain application/x-javascript text/xml text/css; gzip_vary on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; # end gzip configuration } 但是,当我尝试重新启动nginx,它失败(没有任何错误信息),并运行“sudo nginx”得到我这个错误: nginx: [emerg] "http" directive is not allowed here in /etc/nginx/sites-enabled/staging.conf:37 […]