]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tilecache/templates/default/nginx_tile.conf.erb
tilecache: restrict cache control headers to osm.org only
[chef.git] / cookbooks / tilecache / templates / default / nginx_tile.conf.erb
index 0b77171e84c7ed73001b51f01be3e1db326ed8ee..6e964e157670156eb861e2ece0fae44808bdeb51 100644 (file)
@@ -74,22 +74,22 @@ map $http_referer $denied_referer {
 }
 
 map $http_referer $osm_referer {
-  default                                 0;     # False
+  default                                 '';    # False
   '~^https:\/\/www\.openstreetmap\.org\/' 'osm'; # True
 }
 
 # Limit Cache-Control header to only approved User-Agents
-map $http_user_agent $limit_http_cache_control {
-  default '';                              # Unset Header
-  '~^Mozilla\/5\.0\ QGIS\/' '';            # Unset Header
-  '~^Mozilla\/5\.0\ ' $http_cache_control; # Pass Header
+map $osm_referer$http_user_agent $limit_http_cache_control {
+  default '';                                # Unset Header
+  '~^osmMozilla\/5\.0\ QGIS\/' '';            # Unset Header
+  '~^osmMozilla\/5\.0\ ' $http_cache_control; # Pass Header
 }
 
 # Limit Pragma header to only approved User-Agents
-map $http_user_agent $limit_http_pragma {
-  default '';                       # Unset Header
-  '~^Mozilla\/5\.0\ QGIS\/' '';     # Unset Header
-  '~^Mozilla\/5\.0\ ' $http_pragma; # Pass Header
+map $osm_referer$http_user_agent $limit_http_pragma {
+  default '';                          # Unset Header
+  '~^osmMozilla\/5\.0\ QGIS\/' '';     # Unset Header
+  '~^osmMozilla\/5\.0\ ' $http_pragma; # Pass Header
 }
 
 server {
@@ -254,20 +254,12 @@ server {
         return 418;
       }
 
-      # Only allow cache purges if from OpenStreetMap referer
-      if ($osm_referer) {
-        # Allow cache purging headers only from select User-Agents (uses nginx Map)
-        proxy_set_header Cache-Control $limit_http_cache_control;
-        proxy_set_header Pragma $limit_http_pragma;
-      }
-      # nginx has no if else logic
-      if ($osm_referer != 'osm') {
-        proxy_set_header Cache-Control '';
-        proxy_set_header Pragma '';
-      }
-
       # Strip any ?query parameters from urls
       set $args '';
+
+      # Allow cache purging headers only from select User-Agents (uses nginx Map)
+      proxy_set_header Cache-Control $limit_http_cache_control;
+      proxy_set_header Pragma $limit_http_pragma;
     }
 <% end %>
 }