X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/1c848471a16f9d1ee1fc8a327af110447ea1ef4c..2c39d070b3f9f19a776638da82da06c4df9cc439:/cookbooks/web/templates/default/apache.backend.erb?ds=sidebyside diff --git a/cookbooks/web/templates/default/apache.backend.erb b/cookbooks/web/templates/default/apache.backend.erb index 17200cab9..93867a96a 100644 --- a/cookbooks/web/templates/default/apache.backend.erb +++ b/cookbooks/web/templates/default/apache.backend.erb @@ -1,6 +1,6 @@ # DO NOT EDIT - This file is being maintained by Chef - + # # Basic server configuration # @@ -8,13 +8,30 @@ ServerAlias api.openstreetmap.org www.openstreetmap.org ServerAdmin webmaster@openstreetmap.org + # + # Enable SSL + # + SSLEngine on + SSLCertificateFile /etc/ssl/certs/www.openstreetmap.org.pem + SSLCertificateKeyFile /etc/ssl/private/www.openstreetmap.org.key + # # Setup logging # - LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Ts" combined_with_time + LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Dus %{UNIQUE_ID}e %{SSL_PROTOCOL}x %{SSL_CIPHER}x" combined_with_time CustomLog /var/log/apache2/access.log combined_with_time ErrorLog /var/log/apache2/error.log + # + # Turn on the rewrite engine + # + RewriteEngine on + + # + # Recover the unique ID from the request headers + # + SetEnvIf X-Request-Id ^(.*)$ UNIQUE_ID=$1 + # # Configure rails # @@ -22,18 +39,39 @@ RailsEnv production PassengerMinInstances 3 PassengerMaxRequests 500 - PassengerPreStart http://www.openstreetmap.org/ + PassengerPreStart https://www.openstreetmap.org/ + PassengerAppGroupName rails + SetEnv OPENSTREETMAP_STATUS <%= @status %> + SetEnv SECRET_KEY_BASE <%= @secret_key_base %> # # Get the real remote IP for requests via a trusted proxy # RemoteIPHeader X-Forwarded-For - RemoteIPTrustedProxy 146.179.159.160/27 + RemoteIPTrustedProxy 10.0.32.0/24 + RemoteIPTrustedProxy 10.0.48.0/24 # - # Pass map calls to cgimap + # Pass authentication related headers to cgimap # - - SetHandler fcgi:127.0.0.1:8000 + + CGIPassAuth On + + # + # Pass supported calls to cgimap + # + RewriteRule ^/api/0\.6/map(\.json|\.xml)?$ fcgi://127.0.0.1:8000$0 [P] + RewriteCond %{REQUEST_METHOD} ^(HEAD|GET)$ + RewriteRule ^/api/0\.6/(node|way|relation|changeset)/[0-9]+(\.json|\.xml)?$ fcgi://127.0.0.1:8000$0 [P] + RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+/history(\.json|\.xml)?$ fcgi://127.0.0.1:8000$0 [P] + RewriteRule ^/api/0\.6/(node|way|relation)/[0-9]+/relations(\.json|\.xml)?$ fcgi://127.0.0.1:8000$0 [P] + RewriteRule ^/api/0\.6/node/[0-9]+/ways(\.json|\.xml)?$ fcgi://127.0.0.1:8000$0 [P] + RewriteRule ^/api/0\.6/(way|relation)/[0-9]+/full(\.json|\.xml)?$ fcgi://127.0.0.1:8000$0 [P] + RewriteRule ^/api/0\.6/(nodes|ways|relations)(\.json|\.xml)?$ fcgi://127.0.0.1:8000$0 [P] + RewriteRule ^/api/0\.6/changeset/[0-9]+/(upload|download)(\.json|\.xml)?$ fcgi://127.0.0.1:8000$0 [P] + +/rails/public> + Require all granted +