Я пытаюсь сжать код, написанный с помощью Next.js, используя Gzip для доставки с Nginx и сервером NodeJS.
Кажется, конфиг работает, когда я использую 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-сканер
источник