2022 年 TLS 1.3 HTTP/2 下到底该不该开启 Gzip 压缩?

2022-04-28 15:09:56 +08:00
 CatCode

Debian 系发行版里的 nginx 配置文件里有一行注释,大概意思说:因为安全原因,建议 SSL 启用时关闭 Gzip 。 搜了一下,确实是有 CRIME 和 BREACH 这两种攻击方式可能针对 HTTPS 下启用压缩,但是都是早些年的攻击方式了。

最近看 NextCloud 这个自建网盘的服务,里面的 js 文件体积巨大,如果不启用压缩,进个页面加载都要转半天。 看了一下安装配置的文档,在 Nginx 里它是针对部分类型启用了 Gzip 压缩的。

此外,Google 也搞出了 ngx_brotli 这么个插件,专门来压缩 HTTP 内容。

此时,我想问问各位,大家认为是否应该 /是否需要开启压缩呢?大家的服务器里开启了压缩吗?

1988 次点击
所在节点    HTTP
9 条回复
noe132
2022-04-28 15:15:55 +08:00
当然开。而且很多是请求头不压缩,只压缩 body 。通常来说敏感信息大多数在请求头中。
eason1874
2022-04-28 15:39:19 +08:00
自己压缩就完事了,事先压缩好 .gz 文件,开启 gzip_static ,Nginx 会自动在目录下找 .gz 文件,这样请求没压缩,但返回的文件内容是压缩过的

或者配置一个 http file server ,开启压缩,然后网站 server 不压缩,静态目录反代 file server
3dwelcome
2022-04-28 16:02:20 +08:00
我是自己管理压缩的,brotli 有些特定的情况下不能用,很糟心。

而我又需要在 websocket 里用压缩,可恶的是,官方竟然没定义 websocket 的压缩规范,用的是扩展规范,导致一些设备下,没法顺利开启压缩。

思前想后,只能自己用二进制流压缩资源替代了。
yhxx
2022-04-28 16:22:46 +08:00
@3dwelcome 能介绍下具体是什么场景 brotli 不能用吗?
正在考虑把默认压缩方案全都换成 brotli
X-Force
2022-04-28 16:27:50 +08:00
@yhxx 一般 web 场景 brotli 没问题的,我全站开启了 br 都好多年了…… https://www.iplaysoft.com
B3C933r4qRb1HyrL
2022-04-28 16:36:13 +08:00
@X-Force 我焯,站长!
3dwelcome
2022-04-28 16:42:29 +08:00
@yhxx 两种情况,一种是 https 被迫回退到 http 的情况不能用。另一种在有些浏览器里,https 证书过期后也会有问题。

虽然情况比较少见,还是需要用 gzip 来兜底,没办法。
yinxiangbiji
2022-04-28 17:04:45 +08:00
@X-Force 上次莅临贵站还是 10 几年前,竟然换字体换 logo 了
X-Force
2022-04-28 19:16:49 +08:00
@yinxiangbiji 上次听到别人说 10 多年没上我站的还是上一次……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/849826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX