Nginx 的 Gzip 設定 與 測試

Nginx 要設定 Gzip 的注意事項 與 測試方式 要怎麼做?

Nginx 的 Gzip 設定 與 測試

Nginx 若只有 gzip on,預設只會對 .html 做壓縮,其它的都不吃,記得要搭配 gzip_types 來操作使用。

Nginx gzip 最小化設定參數

gzip on;
gzip_types *;
gzip_disable "MSIE [1-6].(?!.*SV1)";

Nginx gzip 常用的設定參數(加上壓縮等級)

gzip on;
gzip_types *;
gzip_comp_level 9; # 1~9
gzip_disable "MSIE [1-6].(?!.*SV1)";

再來測試看看:(-H 'Accept-Encoding: gzip,deflate' 或 --compressed 要記得加上)

$ curl -I -H 'Accept-Encoding: gzip,deflate' "http://example.com/api/test.php" # 下述回傳注意粗體字部份即可

HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Tue, 10 Oct 2018 07:47:39 GMT
Content-Type: application/json
Connection: close
Content-Encoding: gzip

註:$ curl -I --compressed "http://example.com/api/test.php" # 等同上述

Nginx Gzip 更多設定範例參數

gzip on;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/json text/xml application/xml+rss image/jpeg image/gif image/png;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_comp_level 9;
gzip_min_length 1k; # 大於這個 size 才壓縮,也可以寫 1000
gzip_buffers 4 32k;
gzip_vary on;

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈Nginx 的 Gzip 設定 與 測試〉中有 3 則留言

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料