mempool/production/nginx.conf

217 lines
5.9 KiB
Nginx Configuration File

user nobody;
pid /var/run/nginx.pid;
include /usr/local/etc/nginx/modules-enabled/*.conf;
worker_processes auto;
worker_rlimit_nofile 9999;
events {
worker_connections 9000;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 300s;
types_hash_max_size 2048;
include /usr/local/etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
proxy_cache off;
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # text/html is always compressed by gzip module
server {
listen 80;
listen [::]:80;
server_name mempool.space;
if ($host = mempool.space) {
return 301 https://$host$request_uri;
} # managed by Certbot
return 404; # managed by Certbot
}
server {
listen 80;
listen [::]:80;
server_name mempool.ninja;
if ($host = mempool.ninja) {
return 301 https://mempool.space$request_uri;
} # managed by Certbot
return 404; # managed by Certbot
}
server {
listen [::]:443 ssl http2; # managed by Certbot
listen 443 ssl http2; # managed by Certbot
ssl_certificate /usr/local/etc/letsencrypt/live/mempool.ninja/fullchain.pem; # managed by Certbot
ssl_certificate_key /usr/local/etc/letsencrypt/live/mempool.ninja/privkey.pem; # managed by Certbot
include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
server_name mempool.ninja; # managed by Certbot
return 301 https://mempool.space$request_uri;
}
server {
listen 80;
listen [::]:80;
server_name liquid.mempool.ninja;
if ($host = liquid.mempool.ninja) {
return 301 https://mempool.space/liquid$request_uri;
} # managed by Certbot
return 404; # managed by Certbot
}
server {
listen [::]:443 ssl http2; # managed by Certbot
listen 443 ssl http2; # managed by Certbot
ssl_certificate /usr/local/etc/letsencrypt/live/liquid.mempool.ninja/fullchain.pem; # managed by Certbot
ssl_certificate_key /usr/local/etc/letsencrypt/live/liquid.mempool.ninja/privkey.pem; # managed by Certbot
include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
server_name liquid.mempool.ninja; # managed by Certbot
return 301 https://mempool.space/liquid$request_uri;
}
server {
listen 80;
listen [::]:80;
server_name testnet.mempool.ninja;
if ($host = testnet.mempool.ninja) {
return 301 https://mempool.space/testnet$request_uri;
} # managed by Certbot
return 404; # managed by Certbot
}
server {
listen [::]:443 ssl http2; # managed by Certbot
listen 443 ssl http2; # managed by Certbot
ssl_certificate /usr/local/etc/letsencrypt/live/testnet.mempool.ninja/fullchain.pem; # managed by Certbot
ssl_certificate_key /usr/local/etc/letsencrypt/live/testnet.mempool.ninja/privkey.pem; # managed by Certbot
include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
server_name testnet.mempool.ninja; # managed by Certbot
return 301 https://mempool.space/testnet$request_uri;
}
server {
listen 127.0.0.1:81;
listen [::]:443 ssl default http2; # managed by Certbot
listen 443 ssl default http2; # managed by Certbot
ssl_certificate /usr/local/etc/letsencrypt/live/mempool.space/fullchain.pem; # managed by Certbot
ssl_certificate_key /usr/local/etc/letsencrypt/live/mempool.space/privkey.pem; # managed by Certbot
include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
root /mempool/public_html/mainnet/;
index index.html index.htm index.nginx-debian.html;
server_name mempool.space; # managed by Certbot
location / {
try_files $uri $uri/ /index.html =404;
}
location /explorer {
rewrite /explorer/(.*) https://$host/$1 permanent;
}
location /webhook {
proxy_pass http://127.0.0.1:2222/;
}
location /api {
proxy_pass http://127.0.0.1:8999/api;
}
location /api/mainnet {
proxy_pass http://127.0.0.1:8999/api;
}
location /api/liquid {
proxy_pass http://127.0.0.1:8998/api;
}
location /api/testnet {
proxy_pass http://127.0.0.1:8997/api;
}
location /electrs/ {
proxy_pass http://[::1]:3000/;
}
location /electrs/mainnet/ {
proxy_pass http://[::1]:3000/;
}
location /electrs/liquid/ {
proxy_pass http://[::1]:3001/;
}
location /electrs/testnet/ {
proxy_pass http://[::1]:3002/;
}
location /ws {
proxy_pass http://127.0.0.1:8999/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /ws/mainnet {
proxy_pass http://127.0.0.1:8999/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /ws/liquid {
proxy_pass http://127.0.0.1:8998/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /ws/testnet {
proxy_pass http://127.0.0.1:8997/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
}