server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 301 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name siasky.net www.siasky.net; # replace with actual server names # NOTE: make sure to enable any additional configuration you might need like gzip location / { root /home/user/skynet-webportal/public; # path to root of index.html } location /skynet/skyfile/ { client_max_body_size 1000M; # make sure to limit the size of upload to a sane value proxy_read_timeout 600; # proxy this call to siad endpoint (make sure the ip is correct) proxy_pass http://127.0.0.1:9980; proxy_set_header Expect $http_expect; proxy_set_header Access-Control-Allow-Origin: *; # make sure to override user agent header - siad requirement proxy_set_header User-Agent: Sia-Agent; # replace BASE64_AUTHENTICATION with base64 encoded : # for sia user is empty so it's just : # to generate the passcode use https://www.base64encode.org or any other base64 encoder proxy_set_header Authorization "Basic BASE64_AUTHENTICATION"; } location ~ "^/([a-zA-Z0-9-_]{46})$" { proxy_read_timeout 600; # proxy this call to siad /skynet/skylink/ endpoint (make sure the ip is correct) proxy_pass http://127.0.0.1:9980/skynet/skylink/$1; proxy_set_header Access-Control-Allow-Origin: *; # make sure to override user agent header - siad requirement proxy_set_header User-Agent: Sia-Agent; } location ~ "^/file/([a-zA-Z0-9-_]{46})$" { proxy_read_timeout 600; # proxy this call to siad /skunet/skylink/ endpoint (make sure the ip is correct) # this alias also adds attachment=true url param to force download the file proxy_pass http://127.0.0.1:9980/skynet/skylink/$1?attachment=true; proxy_set_header Access-Control-Allow-Origin: *; # make sure to override user agent header - siad requirement proxy_set_header User-Agent: Sia-Agent; } # SLL CERTIFICATES BELOW THIS LINE }