我正在尝试使用Nginx和NodeJS服务器的Gzip压缩来压缩用Next.js编写的代码。
当我用于curl -H "Content-Encoding: gzip"
验证时,似乎配置正在工作。
但是来到真正的浏览器(Chrome,Firefox)时,我无法Content-Encoding: gzip
在Response Headers中找到该属性。
而是X-Content-Encoding-Over-Network: gzip
出现了。
我使用Google Lighthouse测试了该网站,但它责怪我对文本文件启用了压缩功能。
其实是什么X-Content-Encoding-Over-Network
意思?
我该如何使用gzip?
Nginx设置:
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.0;
gzip_types
text/css
text/plain
text/javascript
application/javascript
application/json
application/x-javascript
application/xml
application/xml+rss
application/xhtml+xml
application/x-font-ttf
application/x-font-opentype
application/vnd.ms-fontobject
image/svg+xml
image/x-icon
application/rss+xml
application/atom_xml;
Next.js设置
// next.config.js
module.exports = {
compress: true
};
您的配置很好。有时,问题是由防病毒引起的,就像评论中提到的那样。尝试禁用防病毒软件,或者在防病毒程序中搜索“ HTTP扫描”选项。
NOD Internet Security会这样做。您可以按照以下说明禁用此选项,
1)开放
NOD Internet Security
2)单击设置,然后单击高级设置
3)搜索HTTP
4)禁用HTTP扫描程序