Cache de proxy reverso Nginx para OpenStreetMap

Quando você deseja armazenar OpenStreetMaps em seu Nginx, você precisa:

  • criar cachee tmpdiretórios, executarmkdir -p /var/www/cache/tmp
  • proxy nginx para blocos do OpenStreetMap

Configuração do servidor Nginx:

 server {
proxy_cache_path
/var/www/cache levels=1:2 keys_zone=openstreetmap-backend-cache:8m max_size=500000m inactive=1000d;
proxy_temp_path
/var/www/cache/tmp;

upstream openstreetmap_backend
{
server a
.tile.openstreetmap.org;
server b
.tile.openstreetmap.org;
server c
.tile.openstreetmap.org;
}

server
{
listen
80;
server_name tile
.example.com;

location
/ {
proxy_set_header X
-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X_FORWARDED_PROTO http
;
proxy_set_header
Host $http_host;
proxy_cache openstreetmap
-backend-cache;
proxy_cache_valid
200 302 365d;
proxy_cache_valid
404 1m;
proxy_redirect off
;
if (!-f $request_filename) {
proxy_pass http
://openstreetmap_backend;
break;
}
}
}
}