我正在尝试使用 Nginx 和 NodeJS 服务器的 Gzip 交付来压缩用 Next.js 编写的代码。

当我使用 curl -H "Content-Encoding: gzip" 进行验证时,配置似乎正在工作。
但在真正的浏览器(Chrome、Firefox)中,我在响应头中找不到 Content-Encoding: gzip 属性。
相反,出现了 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 扫描器


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!