Set SECRET_KEY_BASE for production web servers
[chef.git] / cookbooks / web / templates / default / apache.backend.erb
index 17200cab9f3d5a80029c77878c6c595e277abb8b..7f3c3977b497a504eb8eb6f055c696b571f660f4 100644 (file)
@@ -1,12 +1,20 @@
 # DO NOT EDIT - This file is being maintained by Chef
+<% [80, 443].each do |port| -%>
 
-<VirtualHost *:80>
+<VirtualHost *:<%= port %>>
   #
   # Basic server configuration
   #
   ServerName <%= node[:fqdn] %>
   ServerAlias api.openstreetmap.org www.openstreetmap.org
   ServerAdmin webmaster@openstreetmap.org
+<% if port == 443 -%>
+
+  #
+  # Enable SSL
+  #
+  SSLEngine on
+<% end -%>
 
   #
   # Setup logging
   CustomLog /var/log/apache2/access.log combined_with_time
   ErrorLog /var/log/apache2/error.log
 
+  #
+  # Turn on the rewrite engine
+  #
+  RewriteEngine on
+
   #
   # Configure rails
   #
@@ -23,6 +36,7 @@
   PassengerMinInstances 3
   PassengerMaxRequests 500
   PassengerPreStart http://www.openstreetmap.org/
+  SetEnv SECRET_KEY_BASE <%= @secret_key_base %>
 
   #
   # Get the real remote IP for requests via a trusted proxy
   RemoteIPTrustedProxy 146.179.159.160/27
 
   #
-  # Pass map calls to cgimap
+  # Pass supported calls to cgimap
   #
-  <Location /api/0.6/map>
-    SetHandler fcgi:127.0.0.1:8000
-  </Location>
+  RewriteRule ^/api/0\.6/map$ - [H=fcgi:127.0.0.1:8000]
+  RewriteCond %{REQUEST_METHOD} ^(HEAD|GET)$
+  RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+$ - [H=fcgi:127.0.0.1:8000]
+  RewriteRule ^/api/0\.6/(way|relation)/[0-9]+/full$ - [H=fcgi:127.0.0.1:8000]
+  RewriteRule ^/api/0\.6/(nodes|ways|relations)$ - [H=fcgi:127.0.0.1:8000]
 </VirtualHost>
+<% end -%>