]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/web/templates/default/apache.frontend.erb
Improve cacheability of static resources
[chef.git] / cookbooks / web / templates / default / apache.frontend.erb
index 45683bde272e02a5301a24ab0cf38a8040f6a741..1f53272b2dfc33301392718ef886afaaf497acc5 100644 (file)
   # Set expiry for assets
   #
   <Location /assets/>
-    Header unset ETag
-    FileETag None
+    Header unset Last-Modified
+    FileETag Size
 
     ExpiresDefault "access plus 1 year"
+    Header set Cache-Control "immutable, max-age=31536000"
   </Location>
 
   #
 
 <Directory <%= node[:web][:base_directory] %>/rails/public>
   Require all granted
+
+  RewriteCond "%{HTTP:Accept-encoding}" "gzip"
+  RewriteCond "%{REQUEST_FILENAME}\.gz" -s
+  RewriteRule "^(.*)\.(css|js|svg)" "$1\.$2\.gz" [QSA]
+
+  RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
+  RewriteRule "\.js\.gz$"  "-" [T=text/javascript,E=no-gzip:1]
+  RewriteRule "\.svg\.gz$"  "-" [T=image/svg+xml,E=no-gzip:1]
+
+  <FilesMatch "(\.js\.gz|\.css\.gz|\.svg\.gz)$">
+    Header append Content-Encoding gzip
+    Header append Vary Accept-Encoding
+  </FilesMatch>
 </Directory>
 
 <Directory /srv/www.openstreetmap.org/rails/app/assets>