From fccfa202e1e09e8ed8cfa4682b8695940f46edd6 Mon Sep 17 00:00:00 2001 From: wiz Date: Fri, 27 Mar 2020 15:16:17 +0900 Subject: [PATCH] Add production nginx.conf for mempool.space and mempool.ninja hosts --- nginx-wiz.conf | 327 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 327 insertions(+) create mode 100644 nginx-wiz.conf diff --git a/nginx-wiz.conf b/nginx-wiz.conf new file mode 100644 index 000000000..2990738b5 --- /dev/null +++ b/nginx-wiz.conf @@ -0,0 +1,327 @@ +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.ninja; + + if ($host = mempool.ninja) { + return 301 https://$host$request_uri; + } # managed by Certbot + + return 404; # managed by Certbot + } + + 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 127.0.0.1:81; + 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 + + root /mempool/public_html/mainnet/; + + index index.html index.htm index.nginx-debian.html; + server_name mempool.ninja; # managed by Certbot + + location / { + try_files $uri $uri/ /index.html =404; + } + + 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"; + } + } + + server { + listen 80; + listen [::]:80; + server_name liquid.mempool.ninja; + + if ($host = liquid.mempool.ninja) { + return 301 https://$host$request_uri; + } # managed by Certbot + + return 404; # managed by Certbot + } + + server { + listen 127.0.0.1:81; + 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 + + root /mempool/public_html/liquid/; + + index index.html index.htm index.nginx-debian.html; + server_name liquid.mempool.ninja; # managed by Certbot + + location / { + try_files $uri $uri/ /index.html =404; + } + + location /api { + proxy_pass http://127.0.0.1:8998/api; + } + + location /electrs/ { + proxy_pass http://[::1]:3001/; + } + + location /ws { + proxy_pass http://127.0.0.1:8998/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + } + } + + server { + listen 80; + listen [::]:80; + server_name testnet.mempool.ninja; + + if ($host = testnet.mempool.ninja) { + return 301 https://$host$request_uri; + } # managed by Certbot + + return 404; # managed by Certbot + } + + server { + listen 127.0.0.1:81; + 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 + + root /mempool/public_html/testnet/; + + index index.html index.htm index.nginx-debian.html; + server_name testnet.mempool.ninja; # managed by Certbot + + location / { + try_files $uri $uri/ /index.html =404; + } + + location /api { + proxy_pass http://127.0.0.1:8997/api; + } + + location /electrs/ { + proxy_pass http://[::1]:3002/; + } + + location /ws { + proxy_pass http://127.0.0.1:8997/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + } + } + 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"; + } + } +}