1 # DO NOT EDIT - This file is being maintained by Chef
3 <% [80, 443].each do |port| -%>
4 <VirtualHost *:<%= port %>>
6 # Basic server configuration
8 ServerName <%= node[:fqdn] %>
9 ServerAlias api.openstreetmap.org www.openstreetmap.org
10 ServerAdmin webmaster@openstreetmap.org
23 LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Ts" combined_with_time
24 CustomLog /var/log/apache2/access.log combined_with_time
25 ErrorLog /var/log/apache2/error.log
28 # Turn on various features
34 # Block troublesome GPX data scrapping
36 RewriteCond %{REQUEST_METHOD} HEAD
37 RewriteRule ^/trace/\d+/data - [F,L]
42 RewriteCond %{HTTP_USER_AGENT} tilesAtHome
46 # Block requests for the old 404 map tile
48 RewriteRule ^/openlayers/img/404.png$ - [G,L]
51 # Block attempts to access old API versions
53 RewriteRule ^/api/0.[12345]/ - [G,L]
56 # Block JOSM revisions 1722-1727 as they have a serious bug that causes
57 # lat/lon to be swapped (http://josm.openstreetmap.de/ticket/2804)
59 RewriteCond %{HTTP_USER_AGENT} "^JOSM/[0-9]+\.[0-9]+ \(172[234567]\)"
63 # Block a changeset that seems to lock things up
65 RewriteRule ^/api/0.6/changeset/6823497/download$ - [F,L]
68 # Force special MIME type for crossdomain.xml files
70 <Files crossdomain.xml>
71 ForceType text/x-cross-domain-policy
75 # Set expiry for assets
78 Header unset Last-Modified
82 ExpiresDefault "access plus 1 year"
86 # Set expiry for attachments
88 <Location /attachments/>
89 Header unset Last-Modified
93 ExpiresDefault "access plus 1 year"
97 # Set expiry for other static content
99 <Location /export/embed.html>
100 ExpiresDefault "access plus 7 days"
103 ExpiresDefault "access plus 10 years"
105 <Location /javascripts/>
106 ExpiresDefault "access plus 10 years"
108 <Location /openlayers/>
109 ExpiresDefault "access plus 7 days"
111 <Location /stylesheets/>
112 ExpiresDefault "access plus 10 years"
116 # Set expiry for Potlatch 1
118 <Location /potlatch/>
119 ExpiresDefault "access plus 7 days"
123 # Set expiry for Potlatch 2
125 <Location /potlatch2/>
126 ExpiresByType application/x-shockwave-flash "access plus 1 day"
127 ExpiresByType application/xml "access plus 1 day"
128 ExpiresByType text/css "access plus 1 day"
129 ExpiresByType image/png "access plus 7 days"
135 DocumentRoot <%= node[:web][:base_directory] %>/rails/public
137 PassengerMinInstances 10
138 PassengerMaxRequests 5000
139 PassengerPreStart http://www.openstreetmap.org/
140 SetEnv SECRET_KEY_BASE <%= @secret_key_base %>
141 Alias /favicon.ico <%= node[:web][:base_directory] %>/rails/app/assets/images/favicon.ico
142 Alias /openlayers <%= node[:web][:base_directory] %>/rails/vendor/assets/openlayers
143 Alias /stats /store/rails/stats
144 Alias /user/image /store/rails/user/image
145 Alias /attachments /store/rails/attachments
148 # Pass supported calls to cgimap
150 RewriteRule ^/api/0\.6/map$ fcgi://127.0.0.1:8000$0 [P]
151 RewriteCond %{REQUEST_METHOD} ^(HEAD|GET)$
152 RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+$ fcgi://127.0.0.1:8000$0 [P]
153 RewriteRule ^/api/0\.6/(way|relation)/[0-9]+/full$ fcgi://127.0.0.1:8000$0 [P]
154 RewriteRule ^/api/0\.6/(nodes|ways|relations)$ fcgi://127.0.0.1:8000$0 [P]
157 # Redirect trac and wiki requests to the right places
159 RedirectPermanent /trac/ http://trac.openstreetmap.org/
160 RedirectPermanent /wiki/ http://wiki.openstreetmap.org/
163 # Redirect requests for various images to the right place
165 RedirectPermanent /images/osm_logo.png http://www.openstreetmap.org/assets/osm_logo.png
166 RedirectPermanent /images/cc_button.png http://www.openstreetmap.org/assets/cc_button.png
170 # Redirect requests which should be secure to https
172 RewriteCond %{REQUEST_URI} ^/login(\.html)?$ [OR]
173 RewriteCond %{REQUEST_URI} ^/user/(new|create-account\.html)$ [OR]
174 RewriteCond %{REQUEST_URI} ^/user/terms$ [OR]
175 RewriteCond %{REQUEST_URI} ^/user/save$ [OR]
176 RewriteCond %{REQUEST_URI} ^/user/([^/]+)/account$ [OR]
177 RewriteCond %{REQUEST_URI} ^/user/reset-password$
178 RewriteRule ^(.*)$ https://www.openstreetmap.org$1 [L,NE,R=permanent]
181 # Redirect api requests made to www.osm.org to api.osm.org
183 # RewriteCond %{HTTP_HOST} =www.openstreetmap.org
184 # RewriteRule ^/api/(.*)$ http://api.openstreetmap.org/api/$1 [L,NE,R=permanent]
187 # Redirect non-api requests made to api.osm.org to www.osm.org
189 RewriteCond %{HTTP_HOST} =api.openstreetmap.org
190 RewriteCond %{REQUEST_URI} !^/api/
191 RewriteRule ^(.*)$ http://www.openstreetmap.org$1 [L,NE,R=permanent]
192 <% elsif port == 443 -%>
195 # Redirect api requests made to www.osm.org to api.osm.org
197 # RewriteCond %{HTTP_HOST} =www.openstreetmap.org
198 # RewriteRule ^/api/(.*)$ https://api.openstreetmap.org/api/$1 [L,NE,R=permanent]
201 # Redirect non-api requests made to api.osm.org to www.osm.org
203 RewriteCond %{HTTP_HOST} =api.openstreetmap.org
204 RewriteCond %{REQUEST_URI} !^/api/
205 RewriteRule ^(.*)$ https://www.openstreetmap.org$1 [L,NE,R=permanent]
211 ServerName openstreetmap.org
212 ServerAlias maps.openstreetmap.org mapz.openstreetmap.org
213 ServerAlias openstreetmap.com www.openstreetmap.com
214 ServerAlias maps.openstreetmap.com mapz.openstreetmap.com
215 ServerAlias openstreetmap.net www.openstreetmap.net
216 ServerAlias maps.openstreetmap.net mapz.openstreetmap.net
217 ServerAlias openstreetmap.ca www.openstreetmap.ca
218 ServerAlias maps.openstreetmap.ca mapz.openstreetmap.ca
219 ServerAlias openstreetmap.eu www.openstreetmap.eu
220 ServerAlias maps.openstreetmap.eu mapz.openstreetmap.eu
221 ServerAlias openstreetmap.pro www.openstreetmap.pro
222 ServerAlias maps.openstreetmap.pro mapz.openstreetmap.pro
223 ServerAlias openstreetmaps.org www.openstreetmaps.org
224 ServerAlias maps.openstreetmaps.org mapz.openstreetmaps.org
225 ServerAlias osm.org www.osm.org
226 ServerAlias maps.osm.org mapz.osm.org
227 ServerAlias openmaps.org www.openmaps.org
228 ServerAlias maps.openmaps.org mapz.openmaps.org
229 ServerAlias openstreetmap.io www.openstreetmap.io
230 ServerAlias maps.openstreetmap.io mapz.openstreetmap.io
231 ServerAlias osm.io www.osm.io
232 ServerAlias maps.osm.io mapz.osm.io
233 ServerAlias openworldmap.org www.openworldmap.org
234 ServerAlias maps.openworldmap.org mapz.openworldmap.org
235 ServerAlias freeosm.org www.freeosm.org
236 ServerAlias maps.freeosm.org mapz.freeosm.org
237 ServerAlias open-maps.org www.open-maps.org
238 ServerAlias maps.open-maps.org mapz.open-maps.org
239 ServerAlias open-maps.com www.open-maps.com
240 ServerAlias maps.open-maps.com mapz.open-maps.com
241 ServerAlias osmbugs.org www.osmbugs.org
242 ServerAlias maps.osmbugs.org mapz.osmbugs.org
245 ServerAlias openstreetmap.pm www.openstreetmap.pm
247 RedirectPermanent / http://www.openstreetmap.org/
251 ServerName openstreetmap.org
252 ServerAlias maps.openstreetmap.org mapz.openstreetmap.org
256 RedirectPermanent / https://www.openstreetmap.org/
260 ServerName openstreetmap.org.uk
261 ServerAlias www.openstreetmap.org.uk
262 ServerAlias openstreetmap.co.uk
263 ServerAlias www.openstreetmap.co.uk
265 RedirectPermanent /events.ics http://calendar.openstreetmap.org.uk/events.ics
266 RedirectPermanent / http://www.openstreetmap.org/
269 <Directory <%= node[:web][:base_directory] %>/rails/public>
273 <Directory /srv/www.openstreetmap.org/rails/app/assets>
277 <Directory /srv/www.openstreetmap.org/rails/vendor/assets>
281 <Directory /store/rails/stats>
285 <Directory /store/rails/user/image>
289 <Directory /store/rails/attachments>