как по мне, то я бы использовал ngx_http_gzip_static_module , а проход и сверку версий стилей и если отличаются, компрессию - делал бы из скрипта деплоя. Опять же, если чего-то пропустил скрипт компрессии, то обычный gzip on решит вопрос
в действительности то что вам хочется это стандартная конструкция - вызвать скрипт, если файл отсутствует
З.Ы. с expires 7d; у меня были проблемы - кеш не чистился. Конструкция не моя - зачем была нужна хз. Разбираться не стал и просто переделал на стандартное кеширование нгинксом
# location /pic {
# root /var/www/i/cache/image/;
# try_files $uri @pic_fetch;
# expires 7d;
# }
#
# location @pic_fetch {
# proxy_pass http://Backend;
# rewrite ^/pic/(.*) /image.php?params=$1 break;
# }
#