From: Grant Slater Date: Mon, 18 Mar 2024 14:08:27 +0000 (+0000) Subject: imagery: add ngi-aerial code X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/e7928dce7a4141f625dd889dc0147ddc395fa615 imagery: add ngi-aerial code --- diff --git a/cookbooks/imagery/recipes/tiler.rb b/cookbooks/imagery/recipes/tiler.rb index 3c88d77da..69e3abdf7 100644 --- a/cookbooks/imagery/recipes/tiler.rb +++ b/cookbooks/imagery/recipes/tiler.rb @@ -45,6 +45,12 @@ podman_service "titiler" do :FORWARDED_ALLOW_IPS => "*" # https://docs.gunicorn.org/en/latest/settings.html#forwarded-allow-ips end +directory "/var/cache/nginx-cache" do + owner "www-data" + group "www-data" + mode "755" +end + ssl_certificate "tiler.openstreetmap.org" do domains "tiler.openstreetmap.org" notifies :reload, "service[nginx]" diff --git a/cookbooks/imagery/templates/default/nginx_titiler.conf.erb b/cookbooks/imagery/templates/default/nginx_titiler.conf.erb index c0f777976..9f6f92e60 100644 --- a/cookbooks/imagery/templates/default/nginx_titiler.conf.erb +++ b/cookbooks/imagery/templates/default/nginx_titiler.conf.erb @@ -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; } }