Nginx сжатие gzip не работает для css или js - PullRequest
0 голосов
/ 28 апреля 2020

сжатие gzip работает для html страниц, но не для css или js, я нашел несколько похожих вопросов, включая следующие, и попробовал предложенные решения, я попробовал различные настройки для ( gzip_buffers, gzip_min_length, gzip_comp_level), но ни один из них не сработал.

Что еще может повлиять на это, почему файлы js или css не сжаты?

NGINX gzip не сжимает JavaScript файлы

nginx сжатие gzip не работает

включить сжатие gzip с помощью nginx

У меня есть следующий http блок в nginx conf:

http {

    upstream fastcgi_backend {
            server 127.0.0.1:9000;
    }

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    access_log off;

    #access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    # Enable Gzip compression
    gzip          on;

    gzip_vary on;
    gzip_buffers 128 4k;

    # Compression level (1-9)
    gzip_comp_level     5;

    # Don't compress anything under 256 bytes
    gzip_min_length     256;

    # Compress output of these MIME-types
    gzip_types
        application/atom+xml
        application/javascript
        application/json
        application/rss+xml
        application/vnd.ms-fontobject
        application/x-font-ttf
        application/x-font-opentype
        application/x-font-truetype
        application/x-javascript
        application/x-web-app-manifest+json
        application/xhtml+xml
        application/xml
        font/eot
        font/opentype
        font/otf
        image/svg+xml
        image/x-icon
        image/vnd.microsoft.icon
        text/css
        text/plain
        text/javascript
        text/x-component;

    # Disable gzip for bad browsers
    gzip_disable  "MSIE [1-6]\.(?!.*SV1)";

    # allow the server to close connection on non responding client, this will free up memory
    reset_timedout_connection on;

    # request timed out -- default 60
    client_body_timeout 10;
}

1 Ответ

2 голосов
/ 28 апреля 2020

Проверьте папку conf.d на наличие других conf-файлов, которые могут переопределять nginx.conf, вы должны увидеть хотя бы один файл с блоком сервера для имени хоста / IP Nginx. Выглядит это так:

server {
    listen 80;
    listen [::]:80;
    server_name example.com;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name example.com;

    ...
}

Вы всегда можете выполнить поиск блоков сервера: $ grep -rl "server_name" /etc/nginx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...