В данной статье мы расскажем, что необходимо сделать, если на сервере со связкой apache+nginx Вы получили низкую оценку «Vary: Accept-Encoding».
Заголовок Vary Accept-Encoding информирует проксирующий сервер, что необходимо сжать ресурс: как сжатую так и не сжатую версию сайта. Это способствует обхождению разного рода проблем при работе с прокси-серверами. Некоторые из них не принимают присутствие заголовка Content-Encoding.
- Нам необходимо включить сжатие с помощью gzip. Для этого нам необходимо зайти в конфиг nginx /etc/nginx/nginx.conf и прописать след. значение:
- Необходимо добавить правило в файл .htaccess:
gzip on; # Активируем кэширование с помощью gzip. gzip_comp_level 5; # Устанавливаем степень сжатия, в нашем случаем это 5. gzip_vary on; # Оставляем выдачу ответа "Vary: Accept-Encoding". gzip_static off; # Не разрешаем прочитать сжатый файл. gzip_types text/css text/plain application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js; # Указываем расширения файлов, которые будут подвергаться кэшированию. gzip_proxied any; # Разрешаем сжатие для всех проксированных запросов.
<IfModule mod_headers.c> <FilesMatch "\.(js|css|xml|gz)$"> Header append Vary: Accept-Encoding </FilesMatch> </IfModule>
Данный файл (.htaccess) находится в корневой папке Вашего сайта.
После этих действий перезагружаем apache и nginx, проверяем результат.
круто расписано! спасибо, очень помогло.
обучение вэб программированию тут
Большое спасибо, Вы очень помогли!