Рейтинг:0

NGINX не включает GZIP для css, хотя он находится в конфигурации

флаг in

Я создал простой статический сайт, который я обслуживаю с помощью nginx (из докера). В настоящее время я пытаюсь внедрить некоторые передовые методы, включая gzip.

Я использовал пример конфигурации, которую нашел в Интернете, чтобы настроить свою собственную конфигурацию. Gzip работает для большинства типов, кроме css...

я использовал завиток для тестирования:

curl -H "Принять кодировку: gzip" -I localhost:8400 производит:

HTTP/1.1 200 ОК
Сервер: nginx/1.20.2
Дата: среда, 05 января 2022 г., 12:35:06 по Гринвичу
Тип содержимого: текст/html
Соединение: Keep-alive
Последнее изменение: четверг, 30 декабря 2021 г., 13:24:15 GMT
Варьировать: Accept-Encoding
ETag: W/"61cdb2ff-ff5"
Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval' *.transistories.org; кадр-источник «я»; объект-источник 'я'
Параметры X-Frame: SAMEORIGIN
X-Content-Type-Options: nosniff
Строгая транспортная безопасность: max-age=31536000;
X-XSS-защита: 1; режим = блок
Кодировка содержимого: gzip

пока curl -H "Принять кодировку: gzip" -I localhost:8400/css/main.css производит:

HTTP/1.1 200 ОК
Сервер: nginx/1.20.2
Дата: среда, 05 января 2022 г., 12:35:02 по Гринвичу
Тип содержимого: текст/css
Длина контента: 8279
Соединение: Keep-alive
Последнее изменение: среда, 05 января 2022 г., 10:46:33 по Гринвичу
Варьировать: Accept-Encoding
ETag: "61d57709-2057"
Истекает: сб, 29 января 2022 г., 13:38:58 по Гринвичу
Кэш-контроль: max-age=2073600
Прагма: общедоступная
Cache-Control: max-age=2073600, общедоступный
Допустимые диапазоны: байты

Основной файл конфигурации:

пользователь nginx;
рабочие_процессы авто;

error_log /var/log/nginx/error.log уведомление;
pid /var/run/nginx.pid;


События {
    worker_connections 1024;
}


http {
    включить /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$статус $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    журнал_доступа /var/log/nginx/access.log основной;

    отправить файл включен;
    tcp_nopush включен;

    keepalive_timeout 65;

    gzip включен;
    gzip_vary включен;
    gzip_proxy любой;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_версия 1.1;
    gzip_min_length 256;
    gzip_types
        приложение/атом+xml
        приложение/гео+json
        приложение/javascript
        приложение/x-javascript
        приложение/json
        приложение/ld+json
        приложение/манифест+json
        приложение/rdf+xml
        приложение/rss+xml
        приложение/xhtml+xml
        приложение/xml
        шрифт/eot
        шрифт/otf
        шрифт/ttf
        изображение/svg+xml
        текст/CSS
        текст/javascript
        текст/js
        текст/обычный
        текст/xml;
    gzip_disable "msie6";



    server_tokens отключены;

    включить /etc/nginx/conf.d/transistories.conf;
}

Включенный файл конфигурации:

сервер {
    слушать 80;
    слушать [::]:80;
    имя_сервера локальный хост;

    #кодировка koi8-r;
    access_log /var/log/nginx/host.access.log основной;

    add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' *.transistories.org; frame-src 'self'; object-src 'self'";
    add_header X-Frame-Options «SAMEORIGIN» всегда;
    add_header X-Content-Type-Options «нюхать» всегда;
    add_header Strict-Transport-Security "max-age=31536000;" всегда;
    add_header X-XSS-защита "1; режим = блок";

    расположение ~* \.(?:ico|css|js|gif|jpe?g|png|eot|woff2?|ttf|svg)$ {
        корень /usr/share/nginx/html;
        истекает 24 дня;
        add_header Публичный прагма;
        add_header Cache-Control "max-age=2073600, public";
    }

    место расположения / {
        корень /usr/share/nginx/html;
        индекс index.html;
    }

    страница_ошибки 404 /404.html;
}

Если это актуально; Dockerfile, который я использую: Файлы css генерируются из scss с использованием node-sass.

ОТ node:current-alpine3.14 AS Builder

РАБОЧИЙ КАТАЛОГ /usr/src/app

КОПИРОВАТЬ пакет*.json ./

ЗАПУСТИТЬ установку npm

КОПИРОВАТЬ активы ./активы

КОПИРОВАТЬ gulpfile.js .

КОПИРОВАТЬ источник ./источник

ЗАПУСК npm запустить сборку: prod

ЗАПУСК npm запустить карту сайта

ЗАПУСК npm запустить rss

ОТ nginx: последняя

КОПИРОВАТЬ --from=builder /usr/src/app/build /usr/share/nginx/html

скопируйте nginx/nginx.conf /etc/nginx
скопируйте nginx/conf.d /etc/nginx/conf.d

Любые идеи, почему это может происходить, и как я могу это решить? Заранее спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.