我有以下nginx conf:
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_comp_level 6;
gzip_min_length 1000;
gzip_proxied any;
gzip_types "*";
gzip_buffers 16 8k;
我曾经有gzip_types gzip_types text / plain text / css application / json application / x-javascript text / javascript text / xml application / xml application / xml rss image / x-icon application / vnd.api json;但这不是’出于某种原因,根据PageSpeed为我工作.
我的问题是-用gzip压缩所有内容是否有缺点?当然,压缩js,css和html很好.压缩json,图像和其他类似媒体的文件也可能很好.
但是,我们在此连接上代理了websocket.我以为min_length位会解决大部分问题,但是是否有可能出现的任何问题?
此外,压缩私有数据是否存在任何安全问题?与此相关的This提及CRIME,这似乎表明压缩包含机密和可变数据的响应是危险的.我还在阅读有关BREACH的信息,这似乎是一致的.我不是安全专家,因此不确定是否为此担心,但是我们确实使用Django,并且从2013年8月开始,他们的建议是完全禁用gzip.
解决方法:
在以下情况下可能会破坏:
>通过HTTP压缩使用HTTPS
>用户可以使用响应中返回的数据进行请求(例如带有搜索框)
>没有随机响应填充
因此,如果您访问的网站是邪恶的或受感染的网站,他们可能会读取您的银行帐号或CSRF令牌.
无论如何,您可以使用HTTP分块编码来填充响应. https://qualys.jive-mobile.com/#jive-document?content=%2Fapi%2Fcore%2Fv2%2Fposts%2F2211