X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/4b2f73dff92965cc6f7a180a622f1f90bebc921f..1ac08391f19ff1879f33389fde92a2c82331d5a9:/config/nginx.conf diff --git a/config/nginx.conf b/config/nginx.conf index b9055c2d3..ae7798546 100644 --- a/config/nginx.conf +++ b/config/nginx.conf @@ -124,9 +124,6 @@ http { # Use index.html as the index page index index.html; - - # Include fastcgi configuration - include /etc/nginx/fastcgi_params; # Redirect trac requests for historical reasons location /trac/ { @@ -139,15 +136,23 @@ http { } # Placeholder for blocking abuse - location / { - allow all; - } + allow all; # Map api.openstreetmap/0.n/... to api.openstreetmap/api/0.n/... - if ($host ~* api\.(.*)) { + if ($host ~* ^api\.) { rewrite ^/(0\.[0-9]+)/(.*)$ /api/$1/$2; + rewrite ^/capabilities$ /api/capabilities; } + # Strip asset tags + location ~ ^/(images|javascripts|openlayers|stylesheets)/ { + rewrite ^/(.*)/[0-9]+$ /$1; + } + + # Include fastcgi configuration + include /etc/nginx/fastcgi_params; + fastcgi_param REQUEST_URI $uri; + # Handle tiles@home requests location /api/ { if ($http_user_agent ~ "^tilesAtHome") { @@ -183,11 +188,14 @@ http { # Deny old and unknown API versions location ~ ^/api/0\.[0-9]+/ { - deny all; + return 404; } # Handle Special Case Expiry - location ~ ^/(export|openlayers)/ { + location ~ ^/openlayers/ { + expires 7d; + } + location ~ ^/export/embed.html$ { expires 7d; } location ~ ^/(images|javascripts|stylesheets)/ { @@ -205,10 +213,17 @@ http { } } + location = /api/capabilities { + fastcgi_pass web_backend; + break; + } + # Set the MIME type for crossdomain.xml policy files # or flash will ignore it - location ~ /crossdomain.xml$ { - default_type text/x-cross-domain-policy; + location ~ /crossdomain\.xml { + types { + text/x-cross-domain-policy xml; + } } } }