# 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
+ 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)?$ 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>
+
+<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>