Update nginx and mempool backend configuration for active failover HA
This commit is contained in:
@@ -54,6 +54,9 @@ http {
|
||||
proxy_cache_path /var/cache/nginx keys_zone=cache:20m levels=1:2 inactive=600s max_size=500m;
|
||||
types_hash_max_size 2048;
|
||||
|
||||
# set proxy to use http/1.1
|
||||
proxy_http_version 1.1;
|
||||
|
||||
# exempt localhost from rate limit
|
||||
geo $limited_ip {
|
||||
default 1;
|
||||
@@ -70,6 +73,9 @@ http {
|
||||
|
||||
# rate limit requests
|
||||
limit_req_zone $limited_ip_key zone=api:5m rate=200r/m;
|
||||
limit_req_zone $limited_ip_key zone=electrs-address:5m rate=100r/m;
|
||||
limit_req_zone $limited_ip_key zone=electrs-block:5m rate=200r/m;
|
||||
limit_req_zone $limited_ip_key zone=electrs-tx:5m rate=300r/m;
|
||||
limit_req_zone $limited_ip_key zone=electrs:5m rate=2000r/m;
|
||||
limit_req_status 429;
|
||||
|
||||
@@ -132,11 +138,12 @@ http {
|
||||
}
|
||||
|
||||
upstream electrs-mainnet {
|
||||
server [2401:b140:1::100:220]:3000 fail_timeout=0s max_fails=0;
|
||||
server [::1]:3000 fail_timeout=10s max_fails=10;
|
||||
server [2401:b140:1::100:220]:3000 backup;
|
||||
server [2401:b140:1::100:210]:3000 backup;
|
||||
}
|
||||
server {
|
||||
listen 127.0.0.1:2000;
|
||||
listen 127.0.0.1:4000;
|
||||
access_log /dev/null;
|
||||
location / {
|
||||
proxy_pass http://electrs-mainnet;
|
||||
@@ -144,11 +151,12 @@ http {
|
||||
}
|
||||
|
||||
upstream electrs-liquid {
|
||||
server [2401:b140:1::100:220]:3001 fail_timeout=0s max_fails=0;
|
||||
server [::1]:3001 fail_timeout=10s max_fails=10;
|
||||
server [2401:b140:1::100:220]:3001 backup;
|
||||
server [2401:b140:1::100:210]:3001 backup;
|
||||
}
|
||||
server {
|
||||
listen 127.0.0.1:2001;
|
||||
listen 127.0.0.1:4001;
|
||||
access_log /dev/null;
|
||||
location / {
|
||||
proxy_pass http://electrs-liquid;
|
||||
@@ -156,11 +164,12 @@ http {
|
||||
}
|
||||
|
||||
upstream electrs-testnet {
|
||||
server [2401:b140:1::100:220]:3002 fail_timeout=0s max_fails=0;
|
||||
server [::1]:3002 fail_timeout=10s max_fails=10;
|
||||
server [2401:b140:1::100:220]:3002 backup;
|
||||
server [2401:b140:1::100:210]:3002 backup;
|
||||
}
|
||||
server {
|
||||
listen 127.0.0.1:2002;
|
||||
listen 127.0.0.1:4002;
|
||||
access_log /dev/null;
|
||||
location / {
|
||||
proxy_pass http://electrs-testnet;
|
||||
@@ -168,10 +177,12 @@ http {
|
||||
}
|
||||
|
||||
upstream electrs-signet {
|
||||
server [2401:b140:1::100:220]:3003;
|
||||
server [::1]:3003 fail_timeout=10s max_fails=10;
|
||||
server [2401:b140:1::100:220]:3003 backup;
|
||||
server [2401:b140:1::100:210]:3003 backup;
|
||||
}
|
||||
server {
|
||||
listen 127.0.0.1:2003;
|
||||
listen 127.0.0.1:4003;
|
||||
access_log /dev/null;
|
||||
location / {
|
||||
proxy_pass http://electrs-signet;
|
||||
@@ -180,28 +191,25 @@ http {
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name mempool.space mempool.ninja node100.bitcoin.wiz.biz;
|
||||
return 301 https://$host$request_uri;
|
||||
server_name mempool.space node100.mempool.space;
|
||||
if ($host = mempool.space)
|
||||
{
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
if ($host = node100.mempool.space)
|
||||
{
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
return 503;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 127.0.0.1:80;
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
server_name node100.bitcoin.wiz.biz;
|
||||
ssl_certificate /usr/local/etc/letsencrypt/live/node100.bitcoin.wiz.biz/fullchain.pem;
|
||||
ssl_certificate_key /usr/local/etc/letsencrypt/live/node100.bitcoin.wiz.biz/privkey.pem;
|
||||
include /usr/local/etc/letsencrypt/options-ssl-nginx.conf;
|
||||
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem;
|
||||
|
||||
include /usr/local/etc/nginx/nginx-mempool.conf;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
server_name mempool.ninja;
|
||||
ssl_certificate /usr/local/etc/letsencrypt/live/mempool.ninja/fullchain.pem;
|
||||
ssl_certificate_key /usr/local/etc/letsencrypt/live/mempool.ninja/privkey.pem;
|
||||
server_name node100.mempool.space;
|
||||
ssl_certificate /usr/local/etc/letsencrypt/live/node100.mempool.space/fullchain.pem;
|
||||
ssl_certificate_key /usr/local/etc/letsencrypt/live/node100.mempool.space/privkey.pem;
|
||||
include /usr/local/etc/letsencrypt/options-ssl-nginx.conf;
|
||||
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user