响应标头中的网络X内容编码,而不是内容编码


10

我正在尝试使用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
};

5
我不确定。但是,它可能与防病毒有关。在某些情况下,例如ESET可以解压缩响应以进行检查。尝试在防病毒选项中禁用HTTP扫描仪
mykhailo.romaniuk

Answers:


0

您的配置很好。有时,问题是由防病毒引起的,就像评论中提到的那样。尝试禁用防病毒软件,或者在防病毒程序中搜索“ HTTP扫描”选项。

NOD Internet Security会这样做。您可以通过以下方式禁用此选项:

1)开放 NOD Internet Security

2)单击设置,然后单击高级设置

3)搜索HTTP

4)禁用HTTP扫描程序

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.