Log SSL protocol and cipher details for web requests
[chef.git] / cookbooks / web / templates / default / apache.backend.erb
index 5a6f097fe1c659a683e9d37768b3fcd65548319b..ea96d205f87baf882cd7c8b05ee0ceacb46ba7e7 100644 (file)
@@ -19,7 +19,7 @@
   #
   # Setup logging
   #
-  LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Ts" combined_with_time
+  LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Ts %{SSL_PROTOCOL}x %{SSL_CIPHER}x" combined_with_time
   CustomLog /var/log/apache2/access.log combined_with_time
   ErrorLog /var/log/apache2/error.log
 
   #
   RewriteEngine on
 
+  #
+  # Recover the unique ID from the request headers
+  #
+  SetEnvIf X-Request-Id ^(.*)$ UNIQUE_ID=$1
+
   #
   # Configure rails
   #
   RailsEnv production
   PassengerMinInstances 3
   PassengerMaxRequests 500
+<% if port == 443 -%>
+  PassengerPreStart https://www.openstreetmap.org/
+<% else -%>
   PassengerPreStart http://www.openstreetmap.org/
+<% end -%>
   SetEnv SECRET_KEY_BASE <%= @secret_key_base %>
 
   #
   #
   # Pass supported calls to cgimap
   #
-  RewriteRule ^/api/0\.6/map$ - [H=fcgi:127.0.0.1:8000]
+  RewriteRule ^/api/0\.6/map$ fcgi://127.0.0.1:8000$0 [P]
   RewriteCond %{REQUEST_METHOD} ^(HEAD|GET)$
-<% if node[:lsb][:release].to_f >= 14.04 -%>
   RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+$ fcgi://127.0.0.1:8000$0 [P]
   RewriteRule ^/api/0\.6/(way|relation)/[0-9]+/full$ fcgi://127.0.0.1:8000$0 [P]
   RewriteRule ^/api/0\.6/(nodes|ways|relations)$ fcgi://127.0.0.1:8000$0 [P]
-<% else -%>
-  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]
-<% end -%>
 </VirtualHost>
 <% end -%>
-<% if node[:lsb][:release].to_f >= 14.04 -%>
 
 <Directory <%= node[:web][:base_directory] %>/rails/public>
-        Require all granted
+  Require all granted
 </Directory>
-<% end -%>