]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/dev/templates/default/apache.rails.erb
Merge remote-tracking branch 'github/pull/670'
[chef.git] / cookbooks / dev / templates / default / apache.rails.erb
index 4874416c3b36aff7aea1b45a1cefeba7fcd47d20..957866c5c482473e12a185a378d3567a38fe6137 100644 (file)
@@ -1,18 +1,84 @@
 # DO NOT EDIT - This file is being maintained by Chef
 
-<VirtualHost *:80>
-       ServerName <%= @name %>
+<VirtualHost *:443>
+        ServerName <%= @name %>
 <% @aliases.each do |alias_name| -%>
-       ServerAlias <%= alias_name %>
+        ServerAlias <%= alias_name %>
 <% end -%>
-       ServerAdmin webmaster@openstreetmap.org
+        ServerAdmin webmaster@openstreetmap.org
+
+        SSLEngine on
+        SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
+        SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
+
+        CustomLog /var/log/apache2/<%= @name %>-access.log combined_extended
+        ErrorLog /var/log/apache2/<%= @name %>-error.log
+
+        DocumentRoot /srv/<%= @name %>/rails/public
+
+        RailsEnv production
+        PassengerAppGroupName <%= @application_name %>
 
-       DocumentRoot /srv/<%= @name %>/public
+        SetEnv SECRET_KEY_BASE <%= @secret_key_base %>
 
-       CustomLog /var/log/apache2/<%= @name %>-access.log combined
-       ErrorLog /var/log/apache2/<%= @name %>-error.log
+        # 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"
 
-       RailsEnv production
+        # Force special MIME type for crossdomain.xml files
+        <Files crossdomain.xml>
+                ForceType text/x-cross-domain-policy
+        </Files>
+<% if @cgimap_enabled -%>
 
-       SetEnv SECRET_KEY_BASE <%= @secret_key_base %>
+        # 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)?$ unix:<%= @cgimap_socket %>|fcgi://127.0.0.1$0 [P]
+        RewriteCond %{REQUEST_METHOD} ^(HEAD|GET)$
+        RewriteRule ^/api/0\.6/(node|way|relation|changeset)/[0-9]+(\.json|\.xml)?$ unix:<%= @cgimap_socket %>|fcgi://127.0.0.1$0 [P]
+        RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+/history(\.json|\.xml)?$ unix:<%= @cgimap_socket %>|fcgi://127.0.0.1$0 [P]
+        RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+/relations(\.json|\.xml)?$ unix:<%= @cgimap_socket %>|fcgi://127.0.0.1$0 [P]
+        RewriteRule ^/api/0\.6/node/[0-9]+/ways(\.json|\.xml)?$ unix:<%= @cgimap_socket %>|fcgi://127.0.0.1$0 [P]
+        RewriteRule ^/api/0\.6/(way|relation)/[0-9]+/full(\.json|\.xml)?$ unix:<%= @cgimap_socket %>|fcgi://127.0.0.1$0 [P]
+        RewriteRule ^/api/0\.6/(nodes|ways|relations)(\.json|\.xml)?$ unix:<%= @cgimap_socket %>|fcgi://127.0.0.1$0 [P]
+        RewriteRule ^/api/0\.6/changeset/[0-9]+/(upload|download)(\.json|\.xml)?$ unix:<%= @cgimap_socket %>|fcgi://127.0.0.1$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_extended
+        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>
+
+<Directory /srv/<%= @name %>/rails/public>
+        Require all granted
+</Directory>
+
+<Directory /srv/<%= @name %>/rails/app/assets>
+        Require all granted
+</Directory>
+
+<Directory /srv/<%= @name %>/rails/vendor/assets>
+        Require all granted
+</Directory>