X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/91bf372be10a5882d688eff1a61c48f6143b2adb..ffdc1400431395dfad46e36c05f79466109d36b6:/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 b42c64ee8..f78bab03d 100644 --- a/cookbooks/tilecache/templates/default/nginx_tile.conf.erb +++ b/cookbooks/tilecache/templates/default/nginx_tile.conf.erb @@ -54,9 +54,9 @@ map $http_user_agent $denied_scraper { '~^Java\/' 1; # Library Default '~^tiles$' 1; # Library Default '~^okhttp\/' 1; # Library Default - '~^Microsoft-ATL-Native\/' 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 + '~^Wget\/' 1; # Library Default 'C# TilesDownloader' 1; # Downloader 'MapDownloader' 1; # Downloader '~^staticmaps' 1; # Downloader @@ -71,6 +71,14 @@ map $http_user_agent $denied_scraper { 'com.soft373.taptaxi' 1; 'com.kradac.ktxcore' 1; 'ru.crowdsystems.topcontrol.knd' 1; + 'pl.itaxi.driver' 1; + 'net.uztaxi.driver' 1; + 'OSMDroid/2.1 (its; rutaxi 3.28.0)' 1; + 'com.helleniccomms.mercedes.driver' 1; + 'ru.taximaster.www' 1; + 'com.arobs.trackgps' 1; + 'com.helleniccomms.asteras.driver' 1; + # '~[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}' 1; # Fake UA } map $http_referer $denied_referer { @@ -93,6 +101,7 @@ map $http_referer $denied_referer { 'https://www.google.com' 1; # Faked 'https://google.com/' 1; # Faked 'https://www.google.com/' 1; # Faked + 'http://www.microsoft.com/' 1; # Faked '~^https?://pmap\.kuku\.lu/' 1; # Too much traffic '~^https?://[^.]*\.pmap\.kuku\.lu/' 1; # Too much traffic '~^https?://fastpokemap\.com/' 1; # Too much traffic @@ -103,6 +112,8 @@ map $http_referer $denied_referer { '~^https?://[^.]*\.twpkinfo\.com/' 1; # Too much traffic '~^https?://9db\.jp/' 1; # Too much traffic '~^https?://[^.]*\.9db\.jp/' 1; # Too much traffic + '~^https?://clustrmaps\.com/' 1; # Too much traffic + '~^https?://[^.]*\.clustrmaps\.com/' 1; # Too much traffic } map $http_referer $osm_referer { @@ -124,6 +135,17 @@ map $osm_referer$http_user_agent $limit_http_pragma { '~^osmMozilla\/5\.0\ ' $http_pragma; # Pass Header } +# 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 { + 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; +} + server { # IPv4 listen 80 deferred backlog=16384 reuseport fastopen=2048 default_server; @@ -272,6 +294,13 @@ server { proxy_cache_min_uses 4; add_header x-cache-status $upstream_cache_status; +<% else %> + # Severely rate limit Browser UAs which are not sending a referer. + # With no referer we do not know who is using tiles + if ($deny_missing_referer) { + set $limit_rate 1024; + add_header x-cache-ratelimit "missing-referer"; + } <% end -%> # Set a QoS cookie if none presented (uses nginx Map)