X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/8f6bf8b7cd2909565909a6f817426a3f6c8c0d80..d442b3bd417ca0dca1d97945f5413aa7a5c141b6:/cookbooks/tilecache/templates/default/nginx_tile.conf.erb diff --git a/cookbooks/tilecache/templates/default/nginx_tile.conf.erb b/cookbooks/tilecache/templates/default/nginx_tile.conf.erb index 611bd4a73..49cf412ff 100644 --- a/cookbooks/tilecache/templates/default/nginx_tile.conf.erb +++ b/cookbooks/tilecache/templates/default/nginx_tile.conf.erb @@ -15,7 +15,8 @@ upstream tile_cache_backend { <% end -%> <% end -%> - keepalive 256; + keepalive 1024; + keepalive_requests 1024; } # Geo Map of tile caches @@ -163,7 +164,14 @@ server { return 404; } +<% for i in 0..14 do %> +<% if i == 0 -%> + # Default Fallback Location Handler (lowest) location / { +<% elsif -%> + # Dedicated zoom handler for caching + location /<%= i %>/ { +<% end %> proxy_pass http://tile_cache_backend; proxy_set_header X-Forwarded-For $remote_addr; proxy_http_version 1.1; @@ -182,6 +190,21 @@ server { proxy_ignore_headers Set-Cookie; proxy_hide_header Set-Cookie; +<% if i != 0 -%> + # Caching + proxy_cache "proxy_cache_zone"; + proxy_cache_lock on; + proxy_cache_valid 200 1d; + proxy_cache_valid 404 15m; + # Serve stale cache on errors or if updating + proxy_cache_use_stale error timeout updating http_500 http_503 http_504; + # If in cache as stale, serve stale and update in background + proxy_cache_background_update on; + proxy_cache_min_uses 8; + + add_header X-Nginx-Cache-Status $upstream_cache_status; +<% end -%> + # Set a QoS cookie if none presented (uses nginx Map) add_header Set-Cookie $cookie_qos_token_set; <% if node[:ssl][:strict_transport_security] -%> @@ -216,4 +239,5 @@ server { proxy_set_header Cache-Control $limit_http_cache_control; proxy_set_header Pragma $limit_http_pragma; } +<% end %> }