# Restrict tile access to CDN nodes and admins
<LocationMatch ^/default/\d+/\d+/\d+\.png$>
Require expr "%{CONN_REMOTE_ADDR} != %{REMOTE_ADDR}"
+ # Fastly POPs
<% @fastly.sort.each do |address| -%>
Require ip <%= address %>
<% end -%>
+ # StatusCake monitoring
<% @statuscake.sort.reject { |address| address.empty? }.each do |address| -%>
Require ip <%= address %>
<% end -%>
+ # Administrators
<% @admins.sort.each do |address| -%>
Require ip <%= address %>
<% end -%>
+ # OSM Amsterdam Cogent IPv4
Require ip 130.117.76.0/27
+ # OSM Amsterdam Cogent IPv6
Require ip 2001:978:2:2C::/64
+ # OSM Dublin IPv4
Require ip 184.104.226.96/27
+ # OSM Dublin IPv6
Require ip 2001:470:1:b3b::/64
+ # OSM UCL IPv4
Require ip 193.60.236.0/24
</LocationMatch>