Подтвердить что ты не робот

Set Vary: заголовок Accept-Encoding (nginx)

У меня есть сервер nginx и, похоже, не найти никакой информации о том, как отправлять Vary: заголовки Accept-Encoding для файлов CSS и JS. У кого-нибудь есть информация об этом?

Спасибо!

4b9b3361

Ответ 1

Это из документации 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.

Ответ 2

Внутри 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.

Ответ 3

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/

Ответ 4

Если вы пробовали другие ответы и по-прежнему видите разницу (например, если вы тестируете скорость своей страницы с помощью 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, исправил мою проблему.