From: Tom Hughes Date: Fri, 16 Feb 2018 18:37:38 +0000 (+0000) Subject: Redirect http requests on render servers to https X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/3109ee7e5ed6fc8141c8cd700502b130fe468468?hp=6b4bb3c28e7e2af088e5a7b9695d64733efebf6c;ds=inline Redirect http requests on render servers to https --- diff --git a/cookbooks/tile/templates/default/apache.erb b/cookbooks/tile/templates/default/apache.erb index 2dc5101bc..ef4ee9f14 100644 --- a/cookbooks/tile/templates/default/apache.erb +++ b/cookbooks/tile/templates/default/apache.erb @@ -1,13 +1,11 @@ # DO NOT EDIT - This file is being maintained by Chef -<% [80, 443].each do |port| -%> -> + # Basic server configuration ServerName <%= node[:fqdn] %> ServerAlias tile.openstreetmap.org ServerAlias render.openstreetmap.org ServerAdmin webmaster@openstreetmap.org -<% if port == 443 -%> # # Enable SSL @@ -16,7 +14,6 @@ SSLProxyEngine on SSLCertificateFile /etc/ssl/certs/<%= node[:fqdn] %>.pem SSLCertificateKeyFile /etc/ssl/private/<%= node[:fqdn] %>.key -<% end -%> # Configure location of static files and CGI scripts DocumentRoot /srv/tile.openstreetmap.org/html @@ -60,7 +57,44 @@ RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/ + + # Basic server configuration + ServerName <%= node[:fqdn] %> + ServerAlias tile.openstreetmap.org + ServerAlias render.openstreetmap.org + ServerAdmin webmaster@openstreetmap.org + + # Get the real remote IP for requests via a trusted proxy + RemoteIPHeader X-Forwarded-For +<% @caches.each do |cache| -%> +<% cache.ipaddresses(:role => :external).sort.each do |address| -%> + RemoteIPTrustedProxy <%= address %> +<% end -%> <% end -%> + + # Setup logging + LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_with_remoteip + CustomLog /var/log/apache2/access.log combined_with_remoteip + ErrorLog /var/log/apache2/error.log + BufferedLogs on + + # Always set Access-Control-Allow-Origin so that simple CORS requests + # will always work and can be cached + Header set Access-Control-Allow-Origin "*" + + # Remove Proxy request header to mitigate https://httpoxy.org/ + RequestHeader unset Proxy early + + # Enable the rewrite engine + RewriteEngine on + + # Redirect ACME certificate challenges + RewriteRule ^/\.well-known/acme-challenge/(.*)$ http://acme.openstreetmap.org/.well-known/acme-challenge/$1 [R=permanent,L] + + # Redirect to https + RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=permanent,L] + + Options None AllowOverride None