【问题标题】:Should I enable Gzip on Nginx server with SSL for a react app?我应该在带有 SSL 的 Nginx 服务器上为 React 应用程序启用 Gzip 吗?
【发布时间】:2018-09-12 15:12:07
【问题描述】:

我有一个构建大小相当大的 React 应用程序,它部署在带有 SSL 的 Nginx 服务器上。我了解了一些关于 GZip 以及它如何提高网站性能的知识。但我也开始知道将 GZip 与 SSL 一起使用并不安全。 Nginx 默认为 HTML 文件启用 GZip。我是否应该为其他文件(如 Javascript 和 CSS)启用它以提高性能?

【问题讨论】:

    标签: reactjs performance nginx frontend gzip


    【解决方案1】:

    当你说

    将 GZip 与 SSL 一起使用并不安全

    我假设你在谈论Breach Attack。要使压缩响应的破坏攻击成功,需要满足两个条件:

    1. 在 HTTP 响应正文中反映用户输入
    2. 在 HTTP 响应正文中反映机密(例如 CSRF 令牌)

    当您发送压缩的 js/css 文件作为响应时,您通常不会在响应中反映用户输入。这意味着调用 js/css 文件 url 只会返回该文件。

    此外,您通常不会在响应中返回任何敏感数据以及压缩的 js/css 文件。

    是的,对 js/css 资产使用 Gzip 压缩是完全安全的。静态响应不易受到这种攻击。

    【讨论】:

    • 感谢您的帮助。我还有一个疑问,在 nginx.config 文件中的 gzip_types 中还有一个“application/json”类型。我应该保留它还是从这里删除它,因为你说它只对静态资产进行 gzip 是安全的?
    猜你喜欢
    • 2020-07-25
    • 2016-08-28
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多