X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/48217a85b90d2c4b3378b65206b6c5e2686c2a94..f0eca44316766bde8aa519d9a856999adfc2d0fb:/cookbooks/web/templates/default/apache.frontend.erb diff --git a/cookbooks/web/templates/default/apache.frontend.erb b/cookbooks/web/templates/default/apache.frontend.erb index aa2aa1d98..526ec8dd7 100644 --- a/cookbooks/web/templates/default/apache.frontend.erb +++ b/cookbooks/web/templates/default/apache.frontend.erb @@ -31,14 +31,14 @@ RewriteEngine on # - # Configure on the fly compression + # Add the unique ID to the request headers # - AddOutputFilterByType DEFLATE image/svg+xml + RequestHeader set X-Request-Id %{UNIQUE_ID}e # - # Add the unique ID to the request headers + # Remove Proxy request header to mitigate https://httpoxy.org/ # - RequestHeader set X-Request-Id %{UNIQUE_ID}e + RequestHeader unset Proxy early # # Block troublesome GPX data scrapping @@ -179,7 +179,7 @@ # Allow all proxy requests # - Allow from all + Require all granted # @@ -189,7 +189,9 @@ ProxyPass /api/0.6/tracepoints balancer://backend/api/0.6/tracepoints ProxyPass /api/0.6/amf/read balancer://backend/api/0.6/amf/read ProxyPass /api/0.6/swf/trackpoints balancer://backend/api/0.6/swf/trackpoints - ProxyPassMatch ^(/api/0\.6/changeset/[0-9]+/(upload|download))$ balancer://backend$1 + ProxyPassMatch ^(/api/0\.6/changeset/[0-9]+)$ balancer://backend$1 + ProxyPassMatch ^(/api/0\.6/changeset/[0-9]+/upload)$ balancer://bytemark$1 + ProxyPassMatch ^(/api/0\.6/changeset/[0-9]+/download)$ balancer://backend$1 ProxyPassMatch ^(/api/0\.6/(node|way|relation)/[0-9]+)$ balancer://backend$1 ProxyPassMatch ^(/api/0\.6/(node|way|relation)/[0-9]+/(full|history|search|ways))$ balancer://backend$1 ProxyPass /api/0.6/nodes balancer://backend/api/0.6/nodes @@ -210,18 +212,30 @@ RedirectPermanent /images/cc_button.png http://www.openstreetmap.org/assets/cc_button.png # - # Define a load balancer for the backends + # Define a load balancer for the local backends # ProxySet lbmethod=bybusyness +<% node[:web][:backends].each do |backend| -%> +<% if port == 443 -%> + BalancerMember https://<%= backend %> disablereuse=on +<% else -%> + BalancerMember http://<%= backend %> +<% end -%> +<% end -%> + + + # + # Define a load balancer for the Bytemark backends + # + + ProxySet lbmethod=bybusyness +<% ["rails4.bm", "rails5.bm"].each do |backend| -%> <% if port == 443 -%> - BalancerMember https://rails1 disablereuse=on - BalancerMember https://rails2 disablereuse=on - BalancerMember https://rails3 disablereuse=on + BalancerMember https://<%= backend %> disablereuse=on <% else -%> - BalancerMember http://rails1 - BalancerMember http://rails2 - BalancerMember http://rails3 + BalancerMember http://<%= backend %> +<% end -%> <% end -%> <% if port == 80 -%>