Configure production backends and nginx for high availability electrs
This commit is contained in:
		
							parent
							
								
									db6ab5091c
								
							
						
					
					
						commit
						c13d128d9c
					
				@ -14,7 +14,7 @@
 | 
			
		||||
    "PASSWORD": "bar"
 | 
			
		||||
  },
 | 
			
		||||
  "ESPLORA": {
 | 
			
		||||
    "REST_API_URL": "http://[::1]:3001"
 | 
			
		||||
    "REST_API_URL": "http://127.0.0.1:3001"
 | 
			
		||||
  },
 | 
			
		||||
  "DATABASE": {
 | 
			
		||||
    "ENABLED": true,
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@
 | 
			
		||||
    "PASSWORD": "bar"
 | 
			
		||||
  },
 | 
			
		||||
  "ESPLORA": {
 | 
			
		||||
    "REST_API_URL": "http://[::1]:3000"
 | 
			
		||||
    "REST_API_URL": "http://127.0.0.1:3000"
 | 
			
		||||
  },
 | 
			
		||||
  "DATABASE": {
 | 
			
		||||
    "ENABLED": true,
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,7 @@
 | 
			
		||||
    "PASSWORD": "bar"
 | 
			
		||||
  },
 | 
			
		||||
  "ESPLORA": {
 | 
			
		||||
    "REST_API_URL": "http://[::1]:3002"
 | 
			
		||||
    "REST_API_URL": "http://127.0.0.1:3002"
 | 
			
		||||
  },
 | 
			
		||||
  "DATABASE": {
 | 
			
		||||
    "ENABLED": true,
 | 
			
		||||
 | 
			
		||||
@ -58,6 +58,10 @@ http {
 | 
			
		||||
	geo $limited_ip {
 | 
			
		||||
		default		1;
 | 
			
		||||
		127.0.0.1	0;
 | 
			
		||||
		103.99.170.201  0;
 | 
			
		||||
		103.99.170.202  0;
 | 
			
		||||
		2401:b140:1::92:201 0;
 | 
			
		||||
		2401:b140:1::92:202 0;
 | 
			
		||||
	}
 | 
			
		||||
	map $limited_ip $limited_ip_key {
 | 
			
		||||
		1 $binary_remote_addr;
 | 
			
		||||
@ -127,35 +131,51 @@ http {
 | 
			
		||||
	        ~*^zh zh;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	upstream electrs-mainnet {
 | 
			
		||||
		server [2401:b140:1::100:220]:3000 fail_timeout=0s max_fails=0;
 | 
			
		||||
		server [2401:b140:1::100:210]:3000 backup;
 | 
			
		||||
	}
 | 
			
		||||
	server {
 | 
			
		||||
		listen 127.0.0.1:3000;
 | 
			
		||||
		access_log /dev/null;
 | 
			
		||||
		location / {
 | 
			
		||||
			proxy_pass http://electrs-mainnet;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	upstream electrs-liquid {
 | 
			
		||||
		server [2401:b140:1::100:220]:3001 fail_timeout=0s max_fails=0;
 | 
			
		||||
		server [2401:b140:1::100:210]:3001 backup;
 | 
			
		||||
	}
 | 
			
		||||
	server {
 | 
			
		||||
		listen 127.0.0.1:3001;
 | 
			
		||||
		access_log /dev/null;
 | 
			
		||||
		location / {
 | 
			
		||||
			proxy_pass http://electrs-liquid;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	upstream electrs-testnet {
 | 
			
		||||
		server [2401:b140:1::100:220]:3002 fail_timeout=0s max_fails=0;
 | 
			
		||||
		server [2401:b140:1::100:210]:3002 backup;
 | 
			
		||||
	}
 | 
			
		||||
	server {
 | 
			
		||||
		listen 127.0.0.1:3002;
 | 
			
		||||
		access_log /dev/null;
 | 
			
		||||
		location / {
 | 
			
		||||
			proxy_pass http://electrs-testnet;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	server {
 | 
			
		||||
		listen 80;
 | 
			
		||||
		server_name mempool.space mempool.ninja bsq.ninja node100.bitcoin.wiz.biz;
 | 
			
		||||
		server_name mempool.space mempool.ninja node100.bitcoin.wiz.biz;
 | 
			
		||||
		return 301 https://$host$request_uri;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	server {
 | 
			
		||||
		listen 443 ssl http2;
 | 
			
		||||
		server_name bsq.ninja;
 | 
			
		||||
		ssl_certificate /usr/local/etc/letsencrypt/live/bsq.ninja/fullchain.pem;
 | 
			
		||||
		ssl_certificate_key /usr/local/etc/letsencrypt/live/bsq.ninja/privkey.pem;
 | 
			
		||||
		include /usr/local/etc/letsencrypt/options-ssl-nginx.conf;
 | 
			
		||||
		ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem;
 | 
			
		||||
 | 
			
		||||
		set $redirect_uri https://mempool.space/bisq;
 | 
			
		||||
		if ($uri = /tx.html) {
 | 
			
		||||
			set $redirect_uri https://mempool.space/bisq/tx/$arg_tx;
 | 
			
		||||
		}
 | 
			
		||||
		if ($uri = /txo.html) {
 | 
			
		||||
			set $redirect_uri https://mempool.space/bisq/tx/$arg_txo;
 | 
			
		||||
		}
 | 
			
		||||
		if ($uri = /Address.html) {
 | 
			
		||||
			set $redirect_uri https://mempool.space/bisq/address/$arg_addr;
 | 
			
		||||
		}
 | 
			
		||||
		return 301 $redirect_uri;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	server {
 | 
			
		||||
		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;
 | 
			
		||||
@ -167,6 +187,7 @@ http {
 | 
			
		||||
 | 
			
		||||
	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;
 | 
			
		||||
@ -179,6 +200,7 @@ http {
 | 
			
		||||
	server {
 | 
			
		||||
		listen 127.0.0.1:80;
 | 
			
		||||
		listen 443 ssl default http2 backlog=1024;
 | 
			
		||||
		listen [::]:443 ssl default http2 backlog=1024;
 | 
			
		||||
		server_name mempool.space;
 | 
			
		||||
		ssl_certificate /usr/local/etc/letsencrypt/live/mempool.space/fullchain.pem;
 | 
			
		||||
		ssl_certificate_key /usr/local/etc/letsencrypt/live/mempool.space/privkey.pem;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user