]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tilecache/templates/default/nginx_tile.conf.erb
Rearrange blocked tile blocked UAs into sections
[chef.git] / cookbooks / tilecache / templates / default / nginx_tile.conf.erb
index 9202bf3e5b239b5118a6adae66795cbcd9212fd8..f4dc039e674bbbcbff2c65c18b3bf40f8e8f0568 100644 (file)
@@ -1,18 +1,18 @@
 # DO NOT EDIT - This file is being maintained by Chef
 
 upstream tile_cache_backend {
-  server 127.0.0.1:8080 weight=1000;
-  server 127.0.0.2:8080 weight=1000;
+  server 127.0.0.1:8080 weight=1000 max_fails=32;
+  server 127.0.0.2:8080 weight=1000 max_fails=32;
 
   # Add the tile_siblings caches to relieve pressure if local squid failing
   # Balancer: round-robin
 <% server_weight = 1000 -%>
-<% @node[:tilecache][:tile_siblings].each do |cache_peer| -%>
+<% Array(@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 %> backup; # Server <%= cache[:hostname] %>
+  server <%= address %>:80 weight=<%= server_weight %> max_fails=32 backup; # Server <%= cache[:hostname] %>
 <% server_weight -= server_weight.div(2) -%>
 <% end -%>
 <% end -%>
@@ -52,27 +52,40 @@ map $http_user_agent $approved_scraper {
 map $http_user_agent $denied_scraper {
   default                0; # Not denied
   ''                     1; # No User-Agent Set
-  '~^Python\-urllib\/'   1; # Library Default
-  '~^python\-requests\/' 1; # Library Default
-  '~^node\-fetch\/'      1; # Library Default
-  '~^R$'                 1; # Library Default
-  '~^Java\/'             1; # Library Default
-  '~^tiles$'             1; # Library Default
-  '~^okhttp\/'           1; # Library Default
-  '~^Microsoft-ATL-Native\/' 1; # Library Default
-  '/n software IPWorks HTTP/S Component - www.nsoftware.com' 1; #Library default
-  '~^Wget\/'             1; # Library Default
-  'C# TilesDownloader'   1; # Downloader
-  'MapDownloader'        1; # Downloader
-  '~^staticmaps'         1; # Downloader
-  'Android'              1; # Default or fake
-  'kc_android'           1; # Default or fake
-  'Mozilla/4.0'          1; # Fake
-  'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)' 1;  # Fake
-  '~^runtastic'          1; # App
-  '~^Where\ my\ children' 1; # App
-  'nossoonibusjp.android.crosswalk' 1; # App
-  'br.com.concisoti.potybus' 1; # App
+
+  # Library defaults
+  '~^Python\-urllib\/'   1;
+  '~^python\-requests\/' 1;
+  '~^node\-fetch\/'      1;
+  '~^R$'                 1;
+  '~^Java\/'             1;
+  '~^tiles$'             1;
+  '~^okhttp\/'           1;
+  '~^Microsoft-ATL-Native\/' 1;
+  '/n software IPWorks HTTP/S Component - www.nsoftware.com' 1;
+  '~^Wget\/'             1;
+
+  # Library defaults or fakes
+  'Android'              1;
+  'kc_android'           1;
+  'host'                 1;
+  '~^maptestapp'         1;
+  'Other'                1;
+
+  # Fakes
+  'Mozilla/4.0'          1;
+  'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)' 1;
+
+  # Bulk downloaders
+  'C# TilesDownloader'   1;
+  'MapDownloader'        1;
+  '~^staticmaps'         1;
+
+  # Overusage apps
+  '~^runtastic'          1;
+  '~^Where\ my\ children' 1;
+  'nossoonibusjp.android.crosswalk' 1;
+  'br.com.concisoti.potybus' 1;
   'com.soft373.taptaxi'  1;
   'com.kradac.ktxcore'   1;
   'ru.crowdsystems.topcontrol.knd' 1;
@@ -119,6 +132,10 @@ map $http_referer $denied_referer {
   '~^https?://[^.]*\.9db\.jp/'           1; # Too much traffic
   '~^https?://clustrmaps\.com/'          1; # Too much traffic
   '~^https?://[^.]*\.clustrmaps\.com/'   1; # Too much traffic
+  '~^https?://geoportal360\.pl/'         1; # Too much traffic
+  '~^https?://skelbiu\.lt/'              1; # Too much traffic
+  '~^https?://[^.]*\.skelbiu\.lt/'       1; # Too much traffic
+  # '~^https?://[^.]*\.wialon.com/'        1; # Too much traffic (hold per 2020-04-10 email)
 }
 
 map $http_referer $osm_referer {