0

我目前正在优化nginx pagespeed(ngx_pagespeed)的配置,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;
    } 
}
4

1 回答 1

1

ngx_pagespeed 目前不支持延长 woff 文件的缓存寿命。您可以告诉 Nginx 提供具有长 TTL 的 woff 文件,或者从 ngx_/mod_pagespeed 请求此功能。

于 2014-10-21T16:52:20.247 回答