From: Grant Slater Date: Sat, 25 May 2019 01:15:18 +0000 (+0100) Subject: tilecache: Block few default UAs and cheat referers X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/ae60e569aa65b63bf638f6e216a47156673c8c9b tilecache: Block few default UAs and cheat referers --- diff --git a/cookbooks/tilecache/templates/default/nginx_tile.conf.erb b/cookbooks/tilecache/templates/default/nginx_tile.conf.erb index c8cace7a8..aaea48377 100644 --- a/cookbooks/tilecache/templates/default/nginx_tile.conf.erb +++ b/cookbooks/tilecache/templates/default/nginx_tile.conf.erb @@ -33,6 +33,22 @@ map $http_user_agent $approved_scraper { '~^Mozilla\/5\.0\ QGIS\/' 'QGIS'; } +map $http_user_agent $denied_scraper { + default ''; # Not denied + '~^Python\-urllib\/' 'Python'; + '~^R$' 'R'; + '~^Java\/' 'Java'; + '~^tiles$' 'Unknown'; +} + +map $http_referer $denied_referer { + default ''; # Not denied + 'http://www.openstreetmap.org/' 'old-osm'; + 'http://www.osm.org/' 'old-osm'; + 'http://openstreetmap.org' 'fake-osm'; + 'http://www.openstreetmap.org' 'fake-osm'; +} + # Limit Cache-Control header to only approved User-Agents map $http_user_agent $limit_http_cache_control { default ''; # Unset Header @@ -93,6 +109,13 @@ server { set $limit_rate 65536; } + if ($denied_scraper) { + return 429; + } + if ($denied_referer) { + return 418; + } + # Strip any ?query parameters from urls set $args '';