ops: Update prod scripts for testnet4

This commit is contained in:
wiz
2024-05-06 23:47:49 +09:00
parent 1e5a55917c
commit f80c99576b
9 changed files with 293 additions and 5 deletions

View File

@@ -0,0 +1,162 @@
###########
# mempool #
###########
# Block the internal APIs of esplora
location /testnet4/api/internal/ {
return 404;
}
location /testnet4/api/v1/internal/ {
return 404;
}
# websocket has special HTTP headers
location /testnet4/api/v1/ws {
rewrite ^/testnet4/(.*) /$1 break;
try_files /dev/null @mempool-testnet4-api-v1-websocket;
}
# warm cache mining and mempool API responses
location /testnet4/api/v1/statistics {
rewrite ^/testnet4/(.*) /$1 break;
try_files /dev/null @mempool-testnet4-api-v1-cache-warm;
}
location /testnet4/api/v1/mining {
rewrite ^/testnet4/(.*) /$1 break;
try_files /dev/null @mempool-testnet4-api-v1-cache-warm;
}
# it's ok to cache blockchain data "forever", so we do 30d
location /testnet4/api/v1/block/ {
rewrite ^/testnet4/(.*) /$1 break;
try_files /dev/null @mempool-testnet4-api-v1-cache-forever;
}
# everything else gets "normal" cache
location /testnet4/api/v1 {
rewrite ^/testnet4/(.*) /$1 break;
try_files /dev/null @mempool-testnet4-api-v1-cache-normal;
}
###########
# esplora #
###########
# it's ok to cache blockchain data "forever", so we do 30d
location /testnet4/api/block/ {
rewrite ^/testnet4/api/(.*) /$1 break;
try_files /dev/null @esplora-testnet4-api-cache-forever;
}
# other API responses cannot be cached
location /testnet4/api/ {
rewrite ^/testnet4/api/(.*) /$1 break;
try_files /dev/null @esplora-testnet4-api-cache-disabled;
}
###########
# routing #
###########
location @mempool-testnet4-api-v1-websocket {
proxy_pass $mempoolTestnet4;
proxy_http_version 1.1;
proxy_set_header Host $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;
}
location @mempool-testnet4-api-v1-cache-forever {
proxy_pass $mempoolTestnet4;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_background_update on;
proxy_cache_use_stale updating;
proxy_cache apicold;
proxy_cache_valid 200 30d;
proxy_redirect off;
expires 30d;
}
location @mempool-testnet4-api-v1-cache-warm {
proxy_pass $mempoolTestnet4;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_background_update on;
proxy_cache_use_stale updating;
proxy_cache apiwarm;
proxy_cache_valid 200 10s;
proxy_redirect off;
}
location @mempool-testnet4-api-v1-cache-normal {
proxy_pass $mempoolTestnet4;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache apinormal;
proxy_cache_valid 200 10s;
proxy_redirect off;
expires 10s;
}
location @mempool-testnet4-api-v1-cache-disabled {
proxy_pass $mempoolTestnet4;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
expires -1;
}
location @esplora-testnet4-api-cache-disabled {
proxy_pass $esploraTestnet4;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
expires -1;
}
location @esplora-testnet4-api-cache-forever {
proxy_pass $esploraTestnet4;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_background_update on;
proxy_cache_use_stale updating;
proxy_cache apicold;
proxy_cache_valid 200 30d;
proxy_redirect off;
expires 30d;
}

View File

@@ -55,12 +55,14 @@ http {
set $mempoolMainnetLightning "http://mempool-bitcoin-mainnet-lightning";
set $mempoolTestnet "http://mempool-bitcoin-testnet";
set $mempoolTestnetLightning "http://mempool-bitcoin-testnet-lightning";
set $mempoolTestnet4 "http://mempool-bitcoin-testnet4";
set $mempoolSignet "http://mempool-bitcoin-signet";
set $mempoolSignetLightning "http://mempool-bitcoin-signet-lightning";
# for blockstream/esplora daemons, see upstream-esplora.conf
set $esploraMainnet "http://esplora-bitcoin-mainnet";
set $esploraTestnet "http://esplora-bitcoin-testnet";
set $esploraTestnet4 "http://esplora-bitcoin-testnet4";
set $esploraSignet "http://esplora-bitcoin-signet";
# filesystem paths

View File

@@ -5,5 +5,7 @@ include mempool/production/nginx/location-api-v1-lightning.conf;
include mempool/production/nginx/location-api.conf;
include mempool/production/nginx/location-testnet-api.conf;
include mempool/production/nginx/location-testnet-api-v1-lightning.conf;
include mempool/production/nginx/location-testnet4-api.conf;
#include mempool/production/nginx/location-testnet4-api-v1-lightning.conf;
include mempool/production/nginx/location-signet-api.conf;
include mempool/production/nginx/location-signet-api-v1-lightning.conf;

View File

@@ -7,6 +7,9 @@ upstream esplora-liquid-mainnet {
upstream esplora-bitcoin-testnet {
server unix:/bitcoin/socket/esplora-bitcoin-testnet fail_timeout=10s max_fails=10 weight=99999;
}
upstream esplora-bitcoin-testnet4 {
server unix:/bitcoin/socket/esplora-bitcoin-testnet4 fail_timeout=10s max_fails=10 weight=99999;
}
upstream esplora-bitcoin-signet {
server unix:/bitcoin/socket/esplora-bitcoin-signet fail_timeout=10s max_fails=10 weight=99999;
}

View File

@@ -7,9 +7,6 @@ upstream mempool-liquid-mainnet {
upstream mempool-bitcoin-testnet {
server 127.0.0.1:8997 fail_timeout=10s max_fails=10 weight=99999;
}
upstream mempool-bitcoin-bisq {
server 127.0.0.1:8996 fail_timeout=10s max_fails=10 weight=99999;
}
upstream mempool-bitcoin-signet {
server 127.0.0.1:8995 fail_timeout=10s max_fails=10 weight=99999;
}
@@ -25,3 +22,6 @@ upstream mempool-bitcoin-testnet-lightning {
upstream mempool-bitcoin-signet-lightning {
server 127.0.0.1:8991 fail_timeout=10s max_fails=10 weight=99999;
}
upstream mempool-bitcoin-testnet4 {
server 127.0.0.1:8990 fail_timeout=10s max_fails=10 weight=99999;
}