Nginx Gzip 不压缩 JSON

Nginx Gzip 不压缩 JSON

我尝试了 Nginx.conf 的各种设置,但都不起作用。以下是我的当前配置,gzip on;gzip_disable "msie6";

     gzip_vary on;
     gzip_proxied any;
     gzip_comp_level 9;
     gzip_min_length 256;
     gzip_buffers 16 8k;
     gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json charset=utf-8 application/javascript text/xml application/xml application/xml+rss text/javascript json;
     gzip_types application/json;

但是当我点击端点从 POSTMAN 应用程序获取响应时,它会显示Content-Encoding →gzip在响应标头中,但响应大小仍然相同。以下是响应中收到的所有标头的列表。

Content-Type →application/json; charset=utf-8
Transfer-Encoding →chunked
Connection →keep-alive
Vary →Accept-Encoding
Vary →Origin
Status →200 OK
Cache-Control →max-age=0, private, must-revalidate
ETag →W/"f72af3bd9d87210025b3033805735ee6"
X-Runtime →0.135639
X-Request-Id →f2efd718-89d7-4351-a79c-721e9312ea82
Date →Thu, 12 Dec 2019 13:10:32 GMT
X-Powered-By →Phusion Passenger 6.0.2
Server →nginx/1.15.8 + Phusion Passenger 6.0.2
Content-Encoding →gzip

有人能提出任何解决方案吗?

还有一点,当我绕过 Nginx 并使用 application.rb 中的“config.middleware.use Rack::Deflater”运行 rails 服务器时,我能够看到响应大小的压缩。

我的服务器配置如下,分销商 ID:Ubuntu 描述:Ubuntu 16.04.6 LTS 发行版:16.04 代号:xenial

Nginx版本,nginx版本:nginx/1.15.8

感谢您的帮助。

答案1

gzip_types 文本/纯文本/css 应用程序/json charset=utf-8 应用程序/javascript 文本/xml 应用程序/xml 应用程序/xml+rss 文本/javascript json; gzip_types 应用程序/json;

你为什么要注释,你需要取消注释,然后才压缩 json 才有效。

相关内容