X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/894d0bf3a56aafc8b6d787f4eea5bf0c3e2f8b53..121b1c019c0b6784a7fdd883d4048444cbe85fcf:/cookbooks/tilecache/templates/default/nginx_tile.conf.erb?ds=sidebyside diff --git a/cookbooks/tilecache/templates/default/nginx_tile.conf.erb b/cookbooks/tilecache/templates/default/nginx_tile.conf.erb index 7c41496b0..969b17754 100644 --- a/cookbooks/tilecache/templates/default/nginx_tile.conf.erb +++ b/cookbooks/tilecache/templates/default/nginx_tile.conf.erb @@ -1,32 +1,34 @@ # DO NOT EDIT - This file is being maintained by Chef upstream tile_cache_backend { - server 127.0.0.1:8080; - server 127.0.0.2:8080; + server 127.0.0.1:8080 max_fails=64 fail_timeout=2s; + # server 127.0.0.2:8080 max_fails=64 fail_timeout=2s; - # Add the other caches to relieve pressure if local squid failing + # Add the tile_siblings caches to relieve pressure if local squid failing # Balancer: round-robin -<% server_weight = 10 -%> +<% server_weight = 20 -%> <% @node[:tilecache][:tile_siblings].each do |cache_peer| -%> <% @caches.each do |cache| -%> <% if cache_peer == cache[:fqdn] -%> <% if cache[:hostname] != node[:hostname] -%> <% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%> - server <%= address %>:80 weight=<%= server_weight.div(10) %>; # Server <%= cache[:hostname] %> + server <%= address %>:80 weight=<%= server_weight.div(10) %> max_fails=64 fail_timeout=2s; # Server <%= cache[:hostname] %> <% server_weight += 5 -%> <% end -%> <% end -%> <% end -%> <% end -%> <% end -%> + + keepalive 128; } # Geo Map of tile caches geo $tile_cache { - default 0; + default "client"; <% @caches.each do |cache| -%> <% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%> - <%= address %> 1; # <%= cache[:hostname] %> + <%= address %> "cache"; # <%= cache[:hostname] %> <% end -%> <% end -%> } @@ -140,13 +142,13 @@ map $osm_referer$http_user_agent $limit_http_pragma { # Find Browser User-Agents which are not sending a referer. # Browsers with no referer could be due to Browser extension or website Referrer-Policy -map $http_referer$scheme$http_user_agent $deny_missing_referer { +map $tile_cache$http_referer$scheme$http_user_agent $deny_missing_referer { default 0; # Not denied - '~^httpsMozilla\/5\.0\ \(X11' 1; - '~^httpsMozilla\/5\.0\ \(Windows' 1; - '~^httpsMozilla\/5\.0\ \(iPhone' 1; - '~^httpsMozilla\/5\.0\ \(Macintosh' 1; - '~^httpsMozilla\/5\.0\ \(Linux' 1; + '~^clienthttpsMozilla\/5\.0\ \(X11' 1; + '~^clienthttpsMozilla\/5\.0\ \(Windows' 1; + '~^clienthttpsMozilla\/5\.0\ \(iPhone' 1; + '~^clienthttpsMozilla\/5\.0\ \(Macintosh' 1; + '~^clienthttpsMozilla\/5\.0\ \(Linux' 1; } server { @@ -254,6 +256,8 @@ server { proxy_connect_timeout 20s; + proxy_next_upstream_tries 3; + # Replace host header. proxy_set_header Host 'tile.openstreetmap.org'; # Do not pass cookies to backends.