Mitigate env HTTP_PROXY via cgi proxy header
[chef.git] / cookbooks / tile / templates / default / apache.erb
1 # DO NOT EDIT - This file is being maintained by Chef
2
3 <VirtualHost *:80>
4   # Basic server configuration
5   ServerName <%= node[:fqdn] %>
6   ServerAlias tile.openstreetmap.org
7   ServerAlias render.openstreetmap.org
8   ServerAlias *.render.openstreetmap.org
9   ServerAlias parent.tile.openstreetmap.org
10   ServerAdmin webmaster@openstreetmap.org
11
12   # Configure location of static files and CGI scripts
13   DocumentRoot /srv/tile.openstreetmap.org/html
14   ScriptAlias /cgi-bin/ /srv/tile.openstreetmap.org/cgi-bin/
15
16   # Get the real remote IP for requests via a trusted proxy
17   RemoteIPHeader X-Forwarded-For
18 <% @caches.each do |cache| -%>
19 <% cache.ipaddresses(:role => :external).sort.each do |address| -%>
20   RemoteIPTrustedProxy <%= address %>
21 <% end -%>
22 <% end -%>
23
24   # Setup logging
25   CustomLog /var/log/apache2/access.log combined
26   ErrorLog /var/log/apache2/error.log
27   BufferedLogs on
28
29   # Always set Access-Control-Allow-Origin so that simple CORS requests
30   # will always work and can be cached
31   Header set Access-Control-Allow-Origin "*"
32
33   # Remove Proxy request header to mitigate https://httpoxy.org/
34   RequestHeader unset Proxy early
35
36   # Enable the rewrite engine
37   RewriteEngine on
38
39   # Rewrite tile requests to the default style
40   RewriteRule ^/(-?\d+)/(-?\d+)/(-?\d+)\.png$ /default/$1/$2/$3.png [PT,T=image/png,L]
41   RewriteRule ^/(-?\d+)/(-?\d+)/(-?\d+)\.png/status/?$  /default/$1/$2/$3.png/status [PT,T=text/plain,L]
42   RewriteRule ^/(-?\d+)/(-?\d+)/(-?\d+)\.png/dirty/?$   /default/$1/$2/$3.png/dirty  [PT,T=text/plain,L]
43
44   # Historical Files redirect
45   Redirect /processed_p.tar.bz2 http://planet.openstreetmap.org/historical-shapefiles/processed_p.tar.bz2
46   Redirect /shoreline_300.tar.bz2 http://planet.openstreetmap.org/historical-shapefiles/shoreline_300.tar.bz2
47   Redirect /world_boundaries-spherical.tgz http://planet.openstreetmap.org/historical-shapefiles/world_boundaries-spherical.tgz
48 </VirtualHost>
49
50 <Directory /srv/tile.openstreetmap.org/html>
51   Options None
52   AllowOverride None
53   Require all granted
54 </Directory>
55
56 <Directory /srv/tile.openstreetmap.org/cgi-bin>
57   Options ExecCGI
58   AllowOverride None
59   Require all granted
60 </Directory>