]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/dev/templates/default/apache.rails.erb
Enable mod_cgid for gps-tile
[chef.git] / cookbooks / dev / templates / default / apache.rails.erb
index 1c3541916ae8b836a0975a0de3b5073d528fcd48..cf2a56613961280d80353b72ea1aa12f0b586e72 100644 (file)
@@ -1,32 +1,84 @@
 # DO NOT EDIT - This file is being maintained by Chef
 
 # DO NOT EDIT - This file is being maintained by Chef
 
-<VirtualHost *:80>
+<VirtualHost *:443>
         ServerName <%= @name %>
 <% @aliases.each do |alias_name| -%>
         ServerAlias <%= alias_name %>
 <% end -%>
         ServerAdmin webmaster@openstreetmap.org
 
         ServerName <%= @name %>
 <% @aliases.each do |alias_name| -%>
         ServerAlias <%= alias_name %>
 <% end -%>
         ServerAdmin webmaster@openstreetmap.org
 
-        DocumentRoot /srv/<%= @name %>/public
+        SSLEngine on
+        SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
+        SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
 
         CustomLog /var/log/apache2/<%= @name %>-access.log combined
         ErrorLog /var/log/apache2/<%= @name %>-error.log
 
 
         CustomLog /var/log/apache2/<%= @name %>-access.log combined
         ErrorLog /var/log/apache2/<%= @name %>-error.log
 
-        AddOutputFilterByType DEFLATE image/svg+xml
+        DocumentRoot /srv/<%= @name %>/rails/public
 
         RailsEnv production
 
         RailsEnv production
+        PassengerAppGroupName <%= @application_name %>
 
         SetEnv SECRET_KEY_BASE <%= @secret_key_base %>
 
         SetEnv SECRET_KEY_BASE <%= @secret_key_base %>
+
+        # Ensure robots do not index dev site
+        # https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag
+        Header set X-Robots-Tag "noindex, nofollow"
+
+        # Force special MIME type for crossdomain.xml files
+        <Files crossdomain.xml>
+                ForceType text/x-cross-domain-policy
+        </Files>
+<% if @cgimap_enabled -%>
+
+        # Pass authentication related headers to cgimap
+        <Location />
+                CGIPassAuth On
+        </Location>
+
+        # Set a long timeout for proxying to cgimap
+        ProxyTimeout 3600
+
+        # Pass supported calls to cgimap
+        RewriteEngine on
+        RewriteRule ^/api/0\.6/map(\.json|\.xml)?$ fcgi://127.0.0.1:<%= @cgimap_port %>$0 [P]
+        RewriteCond %{REQUEST_METHOD} ^(HEAD|GET)$
+        RewriteRule ^/api/0\.6/(node|way|relation|changeset)/[0-9]+(\.json|\.xml)?$ fcgi://127.0.0.1:<%= @cgimap_port %>$0 [P]
+        RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+/history(\.json|\.xml)?$ fcgi://127.0.0.1:<%= @cgimap_port %>$0 [P]
+        RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+/relations(\.json|\.xml)?$ fcgi://127.0.0.1:<%= @cgimap_port %>$0 [P]
+        RewriteRule ^/api/0\.6/node/[0-9]+/ways(\.json|\.xml)?$ fcgi://127.0.0.1:<%= @cgimap_port %>$0 [P]
+        RewriteRule ^/api/0\.6/(way|relation)/[0-9]+/full(\.json|\.xml)?$ fcgi://127.0.0.1:<%= @cgimap_port %>$0 [P]
+        RewriteRule ^/api/0\.6/(nodes|ways|relations)(\.json|\.xml)?$ fcgi://127.0.0.1:<%= @cgimap_port %>$0 [P]
+        RewriteRule ^/api/0\.6/changeset/[0-9]+/(upload|download)(\.json|\.xml)?$ fcgi://127.0.0.1:<%= @cgimap_port %>$0 [P]
+<% end -%>
+</VirtualHost>
+
+<VirtualHost *:80>
+        ServerName <%= @name %>
+<% @aliases.each do |alias_name| -%>
+        ServerAlias <%= alias_name %>
+<% end -%>
+        ServerAdmin webmaster@openstreetmap.org
+
+        CustomLog /var/log/apache2/<%= @name %>-access.log combined
+        ErrorLog /var/log/apache2/<%= @name %>-error.log
+
+        RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
+        RedirectPermanent / https://<%= @name %>/
+
+        # Ensure robots do not index dev site
+        # https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag
+        Header set X-Robots-Tag "noindex, nofollow"
 </VirtualHost>
 
 </VirtualHost>
 
-<Directory /srv/<%= @name %>/public>
+<Directory /srv/<%= @name %>/rails/public>
         Require all granted
 </Directory>
 
         Require all granted
 </Directory>
 
-<Directory /srv/<%= @name %>/app/assets>
+<Directory /srv/<%= @name %>/rails/app/assets>
         Require all granted
 </Directory>
 
         Require all granted
 </Directory>
 
-<Directory /srv/<%= @name %>/vendor/assets>
+<Directory /srv/<%= @name %>/rails/vendor/assets>
         Require all granted
 </Directory>
         Require all granted
 </Directory>