Назад | Перейти на главную страницу

gzip на Nginx не сжимает некоторые файлы JavaScript

Я активировал сжатие gzip в нашей установке Nginx. Мы запускаем несколько блоков сайтов / серверов на одной установке, я пока активировал gzip только для одного из них (наша главная страница). Это конфигурация для этого серверного блока:

server {
        root /usr/share/nginx/sites/w_home/public;
        index index.php index.html;

        if ($host = domain.de) {
                return 301 https://www.$host$request_uri;
        } # managed by Certbot

        client_max_body_size 20M;

        gzip on;
        gzip_min_length 1024;
        gzip_proxied any;
        gzip_types text/plain text/css text/javascript text/xml application/javascript application/x-javascript application/xml application/xml+rss image/x-icon image/svg+xml image/jpeg image/jpg image/png;
        gzip_disable "MSIE [1-6]\.";

        server_name domain.de www.domain.de;

        location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
                expires 30d;
                add_header Pragma public;
                add_header Cache-Control "public";
        }

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php/php7.3-fpm-w_home.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

        listen [::]:443 ssl ipv6only=on; # managed by Certbot
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/domain.de/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/domain.de/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
        if ($host = domain.de) {
                return 301 https://www.$host$request_uri;
        } # managed by Certbot

        gzip on;
        gzip_min_length 1024;
        gzip_proxied any;
        gzip_types text/plain text/css text/javascript text/xml application/javascript application/x-javascript application/xml application/xml+rss image/x-icon image/svg+xml image/jpeg image/jpg image/png;
        gzip_disable "MSIE [1-6]\.";

        server_name domain.de www.domain.de;

        listen 80;
        listen [::]:80;
        return 404; # managed by Certbot
}

gzip Тесты вроде вот этот действительно показывают, что gzip включен и работает, и действительно, большинство статических ресурсов теперь отправляются сжатыми. Однако некоторые файлы JavaScript - нет, о чем я впервые узнал из аналитики PageSpeed:

Все эти ресурсы размещены в одной конфигурации серверного блока / nginx. Что могло быть причиной этого?