Caddy 压缩配置

Caddy2支持多种先进的压缩格式,例如zstd. 有趣的是,目前大部分的浏览器都不支持zstd压缩(本文基于Caddy v.2.8.4)

简要配置

以下是开启zstd,br,gzip压缩的Caddy2配置示例:

example.com {
    reverse_proxy 127.0.0.1
    encode zstd br gzip
}

详细配置

以下是Caddy2的压缩配置选项:

Gzip

Gzip是近年来最常见的网站压缩算法,绝大部分浏览器都支持gzip网站压缩,gzip本身的效率也并不算差.

example.com { reverse_proxy 127.0.0.1 encode { gzip 5 } }

ZSTD

ZSTD是近年新兴的压缩算法,以无损压缩和高效率著称

example.com {
    reverse_proxy 127.0.0.1
    encode {
      zstd best
    }  
}

Brotli

Brotli是一个高效的网页压缩算法,跨平台和嵌套压缩使其相当具有优势.

在Caddy2上使用Brotli压缩算法需要先安装brotli插件

./caddy add-package github.com/ueffel/caddy-brotli
example.com {
    reverse_proxy 127.0.0.1
    encode {
        br 5 v2
    }
}

多种压缩算法

Caddy支持同时添加多种压缩算法,Caddy会根据配置内的顺序向浏览器提供压缩,但要注意的是浏览器不一定支持较新的算法同时也不一定会按照顺序选择压缩算法.

example.com {
    reverse_proxy 127.0.0.1
    encode {
        zstd best
        br 5 v2
        gzip 5
    }
}

优先级依次为Zstandard>Brotli>Gzip>Deflate,压缩等级均为较高配置