gzip不适用于图像

时间:2017-03-17 07:37:13

标签: regex nginx

我使用nginx + puma。 我有一个特殊的文件夹,用户可以下载图像,所以我在它们上启用gzip。但是,当我chek浏览器。响应中没有Content-Encoding:gzip标头。 可能在reg ex中失败了:

  location ^~ /media/gallery/.*/.+\.(jpg|jpeg|gif|png|svg|mp3|ogg|gz|swf)$ {
  gzip on;
  gzip_comp_level 3;
  gzip_buffers 16 8k;
  gzip_static on;
  expires max;
  access_log off;
  add_header Cache-Control public;
  add_header Last-Modified "";
  add_header ETag "";
  break;
}

PS文件夹看起来像:

site.com/media/gallery/1/test_image.jpg

site.com/media/gallery/1/other_image.png

site.com/media/gallery/4/other_folder_image.jpg

更新 image_from_dev_console

1 个答案:

答案 0 :(得分:1)

你可以将mimetypes传递给nginx指令gzip_types。默认为text / html

http://nginx.org/en/docs/http/ngx_http_gzip_module.html

!!我必须告诉你,使用gzip动态压缩任何非文本文件会导致服务器和客户端的高开销(特别是CPU),带宽节省很少甚至没有带宽。

您正在寻找的是像mozjpeg这样的图像压缩,可以有效地压缩jpeg文件而不会降低质量