nginxでレスポンスをgzipで圧縮する

nginxでレスポンスをgzipで圧縮するための設定を調べた。

nginxでgzipモジュールを提供しているのでこれを利用する。設定例は以下の通り。

http {
    gzip  on;
    gzip_comp_level   2;
    gzip_types text/plain text/css text/xml application/xml text/javascript application/javascript application/json;
    gzip_buffers      4 8k;
}

クライアント側はリクエストヘッダーにAccept-Encodingを含める必要がある。 なお、curl--compressedオプションを指定すると、-Hで以下のヘッダーを付与してくれる。

Accept-Encoding: deflate, gzip

レスポンスヘッダーにはContent-Encoding: gzipが含まれる。

参考

www.oreilly.co.jp

www.oreilly.co.jp