location /api/v1/statistics { try_files /dev/null @mempool-api-v1-warmcache; } location /api/v1/mining { try_files /dev/null @mempool-api-v1-warmcache; } location /api/v1/block/ { try_files /dev/null @mempool-api-v1-forevercache; } location /api/v1 { try_files /dev/null @mempool-api-v1-coldcache; } location /api/block/ { rewrite ^/api/(.*) /$1 break; try_files /dev/null @electrs-api-forevercache; } location /api/ { rewrite ^/api/(.*) /$1 break; try_files /dev/null @electrs-api-nocache; } location @mempool-api-v1-forevercache { proxy_pass $mempoolBackend; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; proxy_cache_background_update on; proxy_cache_use_stale updating; proxy_cache api; proxy_cache_valid 200 30d; proxy_redirect off; expires 30d; } location @mempool-api-v1-warmcache { proxy_pass $mempoolBackend; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; proxy_cache_background_update on; proxy_cache_use_stale updating; proxy_cache api; proxy_cache_valid 200 10s; proxy_redirect off; } location @mempool-api-v1-coldcache { proxy_pass $mempoolBackend; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; proxy_cache api; proxy_cache_valid 200 10s; proxy_redirect off; expires 10s; } location @mempool-api-v1-nocache { proxy_pass $mempoolBackend; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; proxy_redirect off; proxy_buffering off; expires -1; } location @electrs-api-nocache { proxy_pass $electrsBackend; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; proxy_redirect off; proxy_buffering off; expires -1; } location @electrs-api-forevercache { proxy_pass $electrsBackend; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; proxy_cache_background_update on; proxy_cache_use_stale updating; proxy_cache api; proxy_cache_valid 200 30d; proxy_redirect off; expires 30d; }