V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
httpbin - 协议调试工具
httpstatuses - 协议状态码查询
httpie - cURL-like tool for humans
Fiddler
CatCode
V2EX  ›  HTTP

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

  •  
  •   CatCode · 2022-04-28 15:09:56 +08:00 · 1770 次点击
    这是一个创建于 701 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    虽然情况比较少见,还是需要用 gzip 来兜底,没办法。
    yinxiangbiji
        8
    yinxiangbiji  
       2022-04-28 17:04:45 +08:00
    @X-Force 上次莅临贵站还是 10 几年前,竟然换字体换 logo 了
    X-Force
        9
    X-Force  
       2022-04-28 19:16:49 +08:00
    @yinxiangbiji 上次听到别人说 10 多年没上我站的还是上一次……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2729 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:44 · PVG 20:44 · LAX 05:44 · JFK 08:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.