Google pagespeed жалуется на то, что woff не кэшируется

В настоящее время я оптимизирую конфигурации скорости страницы nginx (ngx_pagespeed), и скорость страницы продолжает жаловаться на отсутствие кэширования файлов woff.

Вот как выглядит моя конфигурация:

server {
    location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
    location ~ "^/ngx_pagespeed_static/" { }
    location ~ "^/ngx_pagespeed_beacon" { }
    location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
    location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
    location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
    location /pagespeed_console { allow 127.0.0.1; deny all; }

    pagespeed EnableFilters extend_cache;
    pagespeed EnableFilters inline_google_font_css;

    access_log      /var/www/servers/mysite/production/logs/nginx_access.log;
    error_log       /var/www/servers/mysite/production/logs/nginx_error.log;
    listen          80;
    server_name     mysite.com;
    charset         utf-8;

    client_max_body_size    75M;

    location / {
        uwsgi_pass  unix:/var/www/servers/mysite/production/sockets/mysite.sock;
        include     /var/www/servers/mysite/production/configs/uwsgi/uwsgi_params_pro;
    }

    location /static {
        autoindex   on;
        alias       /var/www/servers/mysite/production/static;
    }

    location /media {
        autoindex   on;
        alias       /var/www/servers/mysite/production/media;
    }
}

Нужно ли мне определять дополнительные параметры для моей библиотеки /static, содержащей файлы woff?

ОБНОВЛЕНИЕ

Я изменил свое статическое местоположение, чтобы определить, являются ли это конкретными файлами, для которых я хотел использовать Cache-Control, а затем добавил следующие параметры:

location /static {
    autoindex   off;
    alias       /var/www/servers/mysite/production/static;

    if ($request_filename ~* ^.*?\.(eot)|(ttf)|(woff)|(svg)|(otf)$){
       expires 1y;
       add_header Cache-Control public;
    } 
}

person JavaCake    schedule 21.10.2014    source источник


Ответы (1)


В настоящее время ngx_pagespeed не поддерживает продление времени жизни кеша для файлов woff. Вы можете указать Nginx обслуживать woff-файлы с длинным TTL или запросить эту функцию у ngx_/mod_pagespeed.

person sligocki    schedule 21.10.2014
comment
Как мне смешать long TTL с моей текущей настройкой? - person JavaCake; 21.10.2014
comment
Я не очень хорошо знаю nginx, но location ~* \.woff$ { expires 1y; } должно работать. - person sligocki; 22.10.2014