]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tilecache/templates/default/squid.conf.erb
tilecache: reject common tile scrapers
[chef.git] / cookbooks / tilecache / templates / default / squid.conf.erb
index e2f74b6e83fbe976ae618eaadc3e243165e1a00c..9b54ad7e11f0ca1e3fa274cf50f6a9295c96b8ef 100644 (file)
@@ -1,29 +1,71 @@
 acl osmtile_sites dstdomain a.tile.openstreetmap.org b.tile.openstreetmap.org c.tile.openstreetmap.org tile.openstreetmap.org a.tile.osm.org b.tile.osm.org c.tile.osm.org tile.osm.org
 acl osmtiles_png urlpath_regex .png$
 
 acl osmtile_sites dstdomain a.tile.openstreetmap.org b.tile.openstreetmap.org c.tile.openstreetmap.org tile.openstreetmap.org a.tile.osm.org b.tile.osm.org c.tile.osm.org tile.osm.org
 acl osmtiles_png urlpath_regex .png$
 
+acl osmtileScrapers browser ^$
+acl osmtileScrapers browser ^MOBAC
+acl osmtileScrapers browser ^JTileDownloader
+acl osmtileScrapers browser ^Apache\-HttpClient
+acl osmtileScrapers browser ^Opera\/10\.00
+acl osmtileScrapers browser ^shipxy01
+acl osmtileScrapers browser ^OsmAnd
+acl osmtileScrapers browser ^apemap
+acl osmtileScrapers browser Firefox\/2\.0\.0\.11
+acl osmtileScrapers browser Firefox\/3\.5\.7
+acl osmtileScrapers browser Firefox\/3\.6
+acl osmtileScrapers browser ^User-Agent
+http_access deny osmtile_sites osmtileScrapers
+
+acl whitelist_path urlpath_regex ^/cgi-bin/(export|debug)$
+acl blacklist_path urlpath_regex ^/cgi-bin/
+acl blacklist_path urlpath_regex ^/MyAdmin/
+acl blacklist_path urlpath_regex ^/myadmin/
+acl blacklist_path urlpath_regex ^/pma/
+acl blacklist_path urlpath_regex ^/phpmyadmin/
+acl blacklist_path urlpath_regex ^/phpMyAdmin/
+acl blacklist_path urlpath_regex ^/idssvc/
+acl blacklist_path urlpath_regex ^/iesvc/
+acl blacklist_path urlpath_regex ^/invoker/
+acl blacklist_path urlpath_regex ^/jmx-console/
+acl blacklist_path urlpath_regex ^/manager/
+acl blacklist_path urlpath_regex ^/service/
+acl blacklist_path urlpath_regex ^/web-console/
+acl blacklist_path urlpath_regex ^/wstats/
+acl blacklist_path urlpath_regex ^/zecmd/
+
+http_access allow osmtile_sites whitelist_path
+http_access deny blacklist_path
+
 http_access allow osmtile_sites
 
 acl osmtile_nocache_url urlpath_regex \.png/(status|dirty)$
 cache deny osmtile_sites osmtile_nocache_url
 
 http_access allow osmtile_sites
 
 acl osmtile_nocache_url urlpath_regex \.png/(status|dirty)$
 cache deny osmtile_sites osmtile_nocache_url
 
-cache_peer <%= node[:tilecache][:tile_parent] %> parent 80 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=90 no-digest
-cache_peer yevaud.openstreetmap.org parent 80 0 no-query originserver name=osmtileFileAccel login=PASS connect-timeout=90 no-delay no-digest max-conn=30
-
-cache_peer_access osmtileAccel allow osmtile_sites osmtiles_png
-cache_peer_access osmtileAccel deny all
+<% node[:tilecache][:tile_siblings].each do |sibling| -%>
+cache_peer <%= sibling %> sibling 3128 3130 weight=1500
+<% end -%>
+#Primary Parent
+cache_peer <%= node[:tilecache][:tile_parent] %> parent 80 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=60 no-digest weight=1000
+cache_peer_access osmtileAccel allow osmtile_sites
 
 
-cache_peer_access osmtileFileAccel allow osmtile_sites !osmtiles_png
-cache_peer_access osmtileFileAccel deny all
+#Backup Parents
+<% @renders.each do |renders| -%>
+cache_peer <%= renders[:hostname] %>.render.openstreetmap.org parent 80 0 no-query originserver name=osmtileAccelBackup<%= renders[:hostname] %> login=PASS connect-timeout=60 no-digest weight=10
+cache_peer_access osmtileAccelBackup<%= renders[:hostname] %> allow osmtile_sites
+<% end -%>
 
 #----------------------------------
 #Create an unlimited pool for cache IP addresses
 acl pool_unlimited src 127.0.0.1
 <% @caches.each do |cache| -%>
 
 #----------------------------------
 #Create an unlimited pool for cache IP addresses
 acl pool_unlimited src 127.0.0.1
 <% @caches.each do |cache| -%>
-<% cache.ipaddresses(:family => :inet, :role => :external) do |address| -%>
+<% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%>
 acl pool_unlimited src <%= address %>
 acl pool_unlimited src <%= address %>
+acl tile_caches src <%= address %>
 <% end -%>
 <% end -%>
 
 <% end -%>
 <% end -%>
 
+#Allow tile_caches ICP access
+icp_access allow tile_caches
+
 acl pool_000 src 0.0.0.0/7
 acl pool_002 src 2.0.0.0/7
 acl pool_004 src 4.0.0.0/7
 acl pool_000 src 0.0.0.0/7
 acl pool_002 src 2.0.0.0/7
 acl pool_004 src 4.0.0.0/7