]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/imagery/templates/default/nginx_titiler.conf.erb
imagery: add ngi-aerial code
[chef.git] / cookbooks / imagery / templates / default / nginx_titiler.conf.erb
index c0f7779768af4cca3edb27e348284eecf8b09f3b..9f6f92e60d044daf4d0297296835c6f08a913703 100644 (file)
@@ -4,9 +4,25 @@ server {
     server_name <%= @name %> <% @aliases.each do |alias_name| %> <%= alias_name %><%- end -%>;
 
     rewrite ^/\.well-known/acme-challenge/(.*)$ http://acme.openstreetmap.org/.well-known/acme-challenge/$1 permanent;
-    return 301 https://$host$request_uri;
+
+    location / {
+      return 301 https://$host$request_uri;
+    }
+
+    location /za-25cm {
+      root "/store/imagery/za";
+      expires max;
+    }
 }
 
+upstream tiler_backend {
+    server 127.0.0.1:8080;
+
+    keepalive 32;
+}
+
+proxy_cache_path /var/cache/nginx-cache levels=1:2 keys_zone=ngi-aerial:64m;
+
 server {
     listen 443 ssl http2;
     listen [::]:443 ssl http2;
@@ -33,6 +49,11 @@ server {
     gzip_comp_level 9;
     gzip_vary on;
 
+    location /za-25cm {
+      root "/store/imagery/za";
+      expires max;
+    }
+
     location /api/v1/titiler {
       rewrite ^/api/v1/titiler(.*)$ $1 break;
       proxy_pass http://localhost:8080;
@@ -41,6 +62,24 @@ server {
       proxy_set_header X-Forwarded-For $remote_addr;
       proxy_set_header X-Forwarded-Proto https;
       proxy_set_header X-Forwarded-SSL on;
+      proxy_http_version 1.1;
+      proxy_redirect off;
+    }
+
+    location /ngi-aerial {
+      set $args "";
+      rewrite ^/ngi-aerial/(\d+)/(\d+)/(\d+)\.jpg  /mosaicjson/tiles/WebMercatorQuad/$1/$2/$3@1x?url=http%3A%2F%2Ftiler.openstreetmap.org%2Fza-25cm%2Fmosaic-tiler.json&pixel_selection=first&tile_format=jpeg break;
+      proxy_pass http://tiler_backend;
+      proxy_set_header Host $host;
+      proxy_set_header Referer $http_referer;
+      proxy_set_header X-Forwarded-For $remote_addr;
+      proxy_set_header X-Forwarded-Proto https;
+      proxy_set_header X-Forwarded-SSL on;
+      proxy_http_version 1.1;
       proxy_redirect off;
+      proxy_cache_key "$scheme$proxy_host$uri";
+      proxy_cache ngi-aerial;
+      proxy_cache_valid any 90d;
+      expires max;
     }
 }