X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/589c6a679bf2f9497188978af05055cc10530393..10016dc5c3a7c567b22406429cc9efbe335881e3:/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 fb03fca55..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 { @@ -127,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; @@ -275,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)