我目前正在优化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;
}
}