70 lines
2.8 KiB
Plaintext
70 lines
2.8 KiB
Plaintext
server {
|
|
listen 58881 default_server;
|
|
server_name localhost _;
|
|
root /usr/share/nginx/html;
|
|
index background.html;
|
|
|
|
location / {
|
|
try_files $uri $uri/ =404;
|
|
}
|
|
|
|
# The background page runs as an iframe on other origins; a stray
|
|
# favicon request must not log 404s.
|
|
location = /favicon.ico {
|
|
return 204;
|
|
access_log off;
|
|
}
|
|
|
|
# CORS proxy for Carto basemaps (place names, OSM-derived).
|
|
# URL format: /carto/voyager/{z}/{x}/{y}.png
|
|
location ^~ /carto/ {
|
|
resolver 1.1.1.1 8.8.8.8 ipv6=off valid=300s;
|
|
proxy_pass https://a.basemaps.cartocdn.com/;
|
|
proxy_ssl_server_name on;
|
|
proxy_set_header Host a.basemaps.cartocdn.com;
|
|
proxy_set_header User-Agent "Mozilla/5.0 (compatible; tile-proxy)";
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
|
|
add_header Access-Control-Max-Age 86400 always;
|
|
}
|
|
|
|
# CORS proxy for ESRI World_Street_Map. URL format:
|
|
# /esri/wsm/{z}/{y}/{x}.jpg -> ESRI /ArcGIS/.../World_Street_Map/.../tile/{z}/{y}/{x}
|
|
location ^~ /esri/ {
|
|
resolver 1.1.1.1 8.8.8.8 ipv6=off valid=300s;
|
|
rewrite ^/esri/streets/(.*)$ /ArcGIS/rest/services/World_Street_Map/MapServer/tile/$1 break;
|
|
rewrite ^/esri/topo/(.*)$ /ArcGIS/rest/services/World_Topo_Map/MapServer/tile/$1 break;
|
|
rewrite ^/esri/imagery/(.*)$ /ArcGIS/rest/services/World_Imagery/MapServer/tile/$1 break;
|
|
proxy_pass https://server.arcgisonline.com;
|
|
proxy_ssl_server_name on;
|
|
proxy_set_header Host server.arcgisonline.com;
|
|
proxy_set_header User-Agent "Mozilla/5.0 (compatible; tile-proxy)";
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
|
|
add_header Access-Control-Max-Age 86400 always;
|
|
}
|
|
|
|
# CORS proxy for Mapzen/TILEZEN terrain-RGB "terrarium" elevation
|
|
# tiles (Copernicus DEM). URL format: /terrarium/{z}/{x}/{y}.png
|
|
location ^~ /terrarium/ {
|
|
resolver 1.1.1.1 8.8.8.8 ipv6=off valid=300s;
|
|
proxy_pass https://s3.amazonaws.com/elevation-tiles-prod/terrarium/;
|
|
proxy_ssl_server_name on;
|
|
proxy_set_header Host s3.amazonaws.com;
|
|
proxy_set_header User-Agent "Mozilla/5.0 (compatible; tile-proxy)";
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
}
|
|
|
|
# CORS preflight handler
|
|
location ~* \.(png|jpg)$ {
|
|
if ($request_method = 'OPTIONS') {
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
|
|
add_header Access-Control-Max-Age 86400 always;
|
|
add_header Content-Length 0;
|
|
return 204;
|
|
}
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
}
|
|
}
|