nginx的https压缩

• 本文约 286 字,阅读大致需要 1 分钟 | Security | #nginx | #HTTPS | #Compression | #SSL | #Performance

官方版本的nginx在https的时候是不对流量做压缩的,具体原因在这里这里 有解释,它会增加半兆的连接内存开销。

启用https压缩除了需要nginx本身做少量修改(例如去掉if[n]def SSL_OP_NO_COMPRESSION部分的语句块)之外,还需要OpenSSL本身编译了加密支持。FreeBSD ports的security/openssl预设启用了ZLIB扩展,但基本系统目前没有(由于zlib是很大的一片代码,也许需要做了Capsicum处理之后才可以放进来用)。

启用https压缩通常并不会显著地减少带宽占用,因为多数情况下浏览器会与服务器协商将内容以deflate方式在放进https流之前做压缩处理。不过,启用压缩可以进一步减少TLS协议本身使用对称加密时可能发生的信息泄漏风险,其代价是引入zlib可能引入更多漏洞,以及每个连接增加大约0.5MB的内存占用。