# example siona explorer nginx.conf # change explorer.YOURDOMAIN.NET to the hostname you'll be using server { root /var/www/explorer.YOURDOMAIN.NET; index index.html index.htm; server_name explorer.YOURDOMAIN.NET www.explorer.YOURDOMAIN.NET; add_header X-Hush-Is-Privacy "Yes"; add_header X-Is-Zcash-Mainnet-A-Honeypot "Yes"; add_header X-Fuck-Blockchain-Analysts "Yes"; location / { try_files $uri $uri/ =404; } # this allows another site to get API data location /api { add_header Access-Control-Allow-Origin "*"; } listen [::]:443 ssl; listen 443 ssl; ssl_certificate /etc/letsencrypt/live/explorer.YOURDOMAIN.NET/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/explorer.YOURDOMAIN.NET/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; error_page 404 /404.html; location = /404.html { internal; } # BOT PROTECTION BELOW - thanks Duke for this if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } if ($http_user_agent ~* "SemrushBot|xforce-security.com|TestBot|MauiBot|CCBot|SummalyBot|PetalBot|BLEXBot|expanseinc.com|clark-crawler|AhrefsBot|mj12bot|YisouSpider|opensiteexplorer|seznambot|dataforseo") { return 444; } location ~* .(display_errors|set_time_limit|allow_url_include.*disable_functions.*open_basedir|set_magic_quotes_runtime|webconfig.txt.php|file_put_contentssever_root|wlwmanifest) { return 444; } location ~* ^/wp-content/.*$ { return 444; } # thanks Onryo for this location ~* ^/wp-admin/.*$ { return 444; } } server { if ($host = www.explorer.YOURDOMAIN.NET) { return 301 https://$host$request_uri; } if ($host = explorer.YOURDOMAIN.NET) { return 301 https://$host$request_uri; } listen 80; listen [::]:80; server_name explorer.YOURDOMAIN.NET www.explorer.YOURDOMAIN.NET; return 404; } # OPTIONAL - Block to run siona explorer over TOR #server { # listen 127.0.0.1:80; # root /var/www/explorer.YOURDOMAIN.NET; # index index.html; # server_name http://YOUR-LONG-TOR-ONION-SITE-NAME.onion ; } # TODO - Add block to run siona explorer over i2p