У меня есть сервер nginx и, похоже, не найти никакой информации о том, как отправлять Vary: заголовки Accept-Encoding для файлов CSS и JS. У кого-нибудь есть информация об этом?
Спасибо!
У меня есть сервер nginx и, похоже, не найти никакой информации о том, как отправлять Vary: заголовки Accept-Encoding для файлов CSS и JS. У кого-нибудь есть информация об этом?
Спасибо!
Это из документации nginx .
gzip_vary syntax: gzip_vary on|off default: gzip_vary off context: http, server, location
Включает ответный заголовок
"Vary: Accept-Encoding"
. Обратите внимание, что это заголовок заставляет IE 4-6 не кэшировать содержимое из-за ошибки (см. 2).
Если вы просто добавили gzip_vary on;
, он должен выполнить эту работу.
Также убедитесь, что у вас есть какая-либо из директив gzip, gzip_static или gunzip.
Внутри server {
домена/поддомена, который вы хотите установить, добавьте
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/plain application/x-javascript text/xml text/css;
gzip_vary on;
Сохраните файл и перезапустите nginx.
Simple. В Nginx conf:
vim /etc/nginx/nginx.conf
Добавьте следующее под нижней частью раздела:
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
Просто раскомментируйте параметр gzip_vary on;
и перезапустите или перезагрузите службу nginx:
service nginx restart
Это должно решить проблему. Если вы используете старую версию nginx, вам может потребоваться включить gzip on;
, поскольку это необходимо для работы заголовка переменной.
Надеюсь, это поможет. FYI, это относится ко всем файлам файлов сервера/сайта, если они не перезаписаны в своих соответствующих блоках сервера. server {}
Исходная информация для nginx, apache и IIS: https://www.maxcdn.com/blog/accept-encoding-its-vary-important/
Если вы пробовали другие ответы и по-прежнему видите разницу (например, если вы тестируете скорость своей страницы с помощью GTMetrix), следующее может помочь:
Убедитесь, что все ваши gzip_types также установлены в разделе http/etc/nginx/nginx.conf http.
Серверный блок в /etc/nginx/sites -available/* - это одно место, где вы можете установить изменяемый заголовок и gzip_types, но в зависимости от того, как у вас есть настройка сайта, вы можете обрабатывать и возвращать файлы, прежде чем они достигнут этого бит конфигурации.
В/etc/nginx/nginx.conf вы найдете раздел "http" - здесь есть также gzip_types и gzip_vary.
Для меня - CSS и JS являются статическими файлами, и их подавали до того, как удалили доступный файл nginx (wordpress) (у меня есть лак перед ним).
Итак, добавив полный список gzip_types в раздел http в nginx.conf, исправил мою проблему.